《工程中的数值分析》开放性考试题目:工程中的数值分析分院:建筑与土木工程系班级:14土木工程本一姓名:陈凯学号:14219114125完成日期:2016年12月14日温州大学瓯江学院教务部二○一二年十一月制1.1 二分法的和算法及Excel实现原理:设函数f(x)在[a,b]上连续,且f(a)·f(b)<0由闭区间上连续函数的性质及定理2-1可知,方程(2.2)在区间(a,b)内至少有一个实根.二分法的基本思想是:逐步二分区间[a,b],通过判断两端点函数值的符号,进一步缩小有根区间,将有根区间的长度缩小到充分小,从而求出满足精度要求的根的近似值.算法:给定精确度ξ,用二分法求函数f(x)零点近似值的步骤如下:确定区间[a,b],验证f(a)·f(b)<0,给定精确度.求区间(a,b)的中点c.计算f(c).(1)若f(c)=0,则c就是函数的零点;(2)若f(a)·f(c)<0,则令b=c;(3)若f(c)·f(b)<0,则令a=c.(4)判断是否达到精确度ε:即若|a-b|<,则得到零点近似值a(或b),否则重复2-4. Excel实现:单元格内分别输入区间[a,b]的左右端点值,中点值=(a+b)/2,依次计算出各点代入公式的f(x)值,用IF函数比较单元格内输入“=IF(f(中点值)<0”,中点值,a)如果f(中点值)<0,则下个左端点取原来的中点值(a+b)/2.同理“=IF(f(中点值)<0,b,中点值)”下个右端点取原来的右点值b.如此循环往下,直至某个中点值代入f(x)得到的解满足题目要求的近似解或者零点即f(c)=0则该值则为零点。
1.2不动点迭代法的原理和算法及Excel实现,并分析不同迭代格式的收敛性原理:将线性方程f(x)=0化为一个同解方程x=φ(x),并且假设φ(x)为连续函数,任取初值x0,代入方程得到x1=φ(x0),x2=φ(x1)····x k+1=φ(x k),k=0,1,2,····称为求解非线性方程组的简单迭代法,称φ(x)为迭代函数,x k称为第k步迭代值. 若{x k}收敛,则称迭代法收敛,否则称迭代法发散.算法:(1)确定初值在B2和D2分别输入左端点a和右端点b在A5中输入公式:=B2,A6输入:=A5+(D$2-B$2)/10,并往下复制下去在B5输入f(x)方程并代入求值,并往下复制下去做散点图,找到图接近x轴的f值,作为迭代的初始值。
(2)方程化为等价方程,并定义迭代格式(3)迭代输入初值x,输入迭代格式,并往下复制下去(4)在输入f的计算公式,往下复制下去,通过观察数值是否收敛,若收敛,则取收敛到后面的数值;若发散,则更改定义迭代格式,再重新重复以上步骤进行计算。
Excel实现:x3-x+1区间端点a= -1 b= 0x f(x)-1 -1-0.9 -0.629-0.8 -0.312-0.7 -0.043-0.6 0.184-0.5 0.375-0.4 0.536-0.3 0.673-0.2 0.792-0.1 0.899迭代式:x k+1=(x k-1)^1/311 -0.4999938 1.3749984 4812 -0.4999979 1.3749994 8313 -0.4999993 1.3749998 2814 -0.4999998 1.3749999 4315 -0.4999999 1.3749999 8116 -0.50000001.374999994 17 -0.50000001.374999998 18 -0.50000001.37499999919 -0.5000000 1.375 20 -0.5000000 1.375 21-0.5000000 1.375f(x19)=1.375不同迭代格式的收敛性:假定迭代函数[]满足下列两项条件:,)(b a C x 1∈ϕ(1)对任意[](),有,b x a b a x ≤≤∈ϕϕ(2)存在正数L<1,使对任意[],有,1)(b a x ,<≤∈L x ϕ则迭代过程)(k 1k x x ϕ=+对于任意初值[]()。
的根均收敛于方程,αϕx x b a x 0=∈ (3)若方程有根α,[]δαδαδααϕαϕ+-∈><,,只要)内连续,则存在(的某领域在,且)(,,0x 0U 1)收敛(就有迭代法k 1k x x ϕ=+。
1.3 Newton 迭代法的原理和算法及Excel 实现。
原理:Newton 迭代法的基本思想是“以直代曲”,将f (x )=0在每一步近似为线性方程来求解,具体方法如下: 将f (x )在x k 作Taylor 一阶展开f(x)=f(x k )+f ’(x k )(x-x k )+1/2!f ’’(§)(x-x k )2,§介于x 和x k 之间.略去上式中的二次项,得到线性方程,解出x ,作为新的近似根x k+1: x k+1=x k -f(x k )/f ’(x k ),k=0,1,2,3······称为Newton 迭代法算法:先假定方程的有根区间为[a,b],计算[a,b]区间内各个点(整数点)的函数值,当函数值出现f (a 0)<0,f (b 0)>0时,[a 0,b 0]即为方程的有根区间。
将有根区间的长度若干等分,求出对应的点的函数值。
将此数据绘图,并根据所绘的图求得初始值。
求得方程f(x)的一次求导公式f´(x),得到迭代公式x k+1=x k-f(x k)/f´(x k),将初始值代入迭代公式中计算出下一项的x值,并计算对应的函数值,新的x值代入迭代公式中继续计算出下一项的x值,重复步骤,直到x的值相同不再变化,此x值即为方程的近似解。
Excel实现:迭代法求方程x^3-x-1确定初值在B2和D2分别输入左端点a和右端点b在A5中输入公式:=B2,A6输入:=A5+(D$2-B$2)/10,并往下复制下去在B5输入f(x)方程并代入求值,并往下复制下去做散点图,找到图接近x轴的f值,作为迭代的初始值。
方程化为等价方程,并定义迭代公式为x-(x^3-x-1)/3x^2-1上图知迭代初值1.4区间端点a= 1 b= 2作图数据区x f(x)1 -11.1 -0.7691.2 -0.4721.3 -0.1031.4 0.3441.5 0.8751.6 1.4961.72.2131.8 3.0321.9 3.9592 5迭代公式为x-(x^3-x-1)/3x^2-1不动点迭代k xk f(xk)0 1.4 0.3441 1.3295081970.0205199162 1.3247392029.06038E-053 1.32471795 1.79368E-08 94 1.324717957 05 1.324717957 0F(x4)=0,方程解为1.3247179572.1 线性方程组的数值求解的原理和算法及Excel实现。
Gauss消去法原理:设有线性方程组,将其增广矩阵(A丨b)通过初等行变化为(A(n)丨b(n)),A(n)为上三角阵,在经过回代解除与原方程组同解的三角形方程组A(n)x=b(n)的解,得到方程组的解。
算法:把方程组化为上三角形方程组,做消元的步骤,再做回带的步骤,解上三角形方程组A(n)x=b(n)。
Excel实现:x1+x2-4x4=1-x1+4x2+x3+3x4=-2x1+3x2+5x3-4x4=-42x2+2x3-3x4=-2A b1 2 0 -4 1-1 4 1 3 -21 3 5 -4 -40 2 2 -3 -21 2 0 -4 1 -1 6 1 -1 -1 1 1 5 0 -5 0 2 2 -3 -2 1 2 0 -4 161-1-10.1666666674.8333333330.166666667-4.8333333330.333333333 0.333333333 -3 -0.3333333331 2 0 -4 1 161-1-1 04.8333333331 -4.833333333-10.068965517-3.0114942530 0三角分解法原理:将系数矩阵A 分解为两个三角形矩阵的乘积A=LU ,进而将原方程组的求解转化为两个三角形方程组的求解。
若有三角阵LU,使A=LU,则方程组Ax=b与方程组LUx=b等价,而后者等价于两个三角形线性方程组:Ly=b,Ux=y。
算法:将线性方程组的系数矩阵A分解为三角形方程组的乘积LU,称为矩阵A的LU 分解;再将线性方程组的求解转换为三角形方程组的求解。
A稠密-----LU分解法A对称-----LDL分解法A正定-----LL分解法A三对角线------追赶法Excel实现:新建Excel表格,依次按顺序输入矩阵数据一句矩阵与逆矩阵相乘为单位矩阵原理,依次从A-D列数据从下至上依照公式计算逆矩阵数据上三角形矩阵求逆U4 2 3 21 0 31 14U-10.25 -0.5 -0.75 0.43751 0 -0.751 -0.250.253.1 Lagrange插值的原理和算法及Excel实现;原理:将待求的n次多项式插值函数pn(x)改写成另一种表示方式,再利用插值条件⑴确定其中的待定函数,从而求出插值多项式。
n=1时,设()i x f =i y 10i ,,=.作直线方程:()()[]()[]011001000101001001010)(1)(1)(y x x y x x y x x x x y x x y x x y x x x x x x y y y -+--=---+--=---+=令()101001011x y x x x x y x x x x L --+--=,称1L 为两点式插值或线性插值. 2n =时,设().2,1,0,y ==i x f i i 令: ()()()()()()()()()()()()(),x 2120210121012002010212y x x x x x x x x y x x x x x x x x y x x x x x x x x L ----+----+----=称2L 为三点式插值或抛物插值. 算法:先建立一个Excle 数据表:插值节点xi A B C D yiEFGH插值点与函数计算值x L 0 L 1 L 2 L 3 L 3(x) a在单元格中输入插值点a求基函数L 0=(a-B)*(a-C)*(a-E)/(E-F)/(E-G)/(E-H) L 1=(a-A)*(a-C)*(a-D)/(F-E)/(F-G)/(F-H) 以此类推求至L 3,再求出L 3(x).再输入最后一个基函数L3(x)的计算公式:=SUMPRODUCT公式得到f(x)的近似值Excel实现:插值节点xi 1 2 3 4yi 18 20 15 17插值点与函数计算值x L0 L1 L2 L3 L3(x)2.5 -0.0625 0.5625 0.5625 -0.0625 17.5作图数据区点数: 100x L0 L1 L2 L3 L3(x)1 1 0 0 0 181.03 0.9458955 0.0877635 -0.0432135 0.009554518.2956131.06 0.893564 0.171108 -0.082908 0.018236 18.5727041.09 0.8429785 0.2501145 -0.1191645 0.026071518.8316511.12 0.794112 0.324864 -0.152064 0.033088 19.0728321.15 0.7469375 0.3954375 -0.1816875 0.039312519.2966251.18 0.701428 0.461916 -0.208116 0.044772 19.5034083.2 Newton 插值的原理和算法及Excel 实现。