当前位置:文档之家› 工程中的数值分析

工程中的数值分析

工程中的数值分析
工程中的数值分析

《工程中的数值分析》开放性考试

题目:工程中的数值分析

分院:建筑与土木工程系

班级: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)为连续函

数,任取初值x

0,代入方程得到x

1

=φ(x

),x

2

=φ(x

1

) (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 实现: x 3-x+1

区间端点

a= -1 b= 0 x 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/3 11 -0.4999938 1.374998448 12 -0.4999979 1.374999483 13 -0.4999993 1.374999828 14 -0.4999998 1.374999943 15 -0.4999999 1.374999981 16 -0.5000000 1.374999994 17 -0.5000000 1.374999998 18 -0.5000000 1.374999999 19 -0.5000000 1.375 20 -0.5000000 1.375 21 -0.5000000 1.375 f(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 -1

1.1 -0.769

1.2 -0.472

1.3 -0.103

1.4 0.344

1.5 0.875

1.6 1.496

1.7

2.213

1.8 3.032

1.9 3.959

2 5

迭代公式为x-(x^3-x-1)/3x^2-1

不动点迭代

k xk f(xk)

0 1.4 0.344

1 1.329508197 0.020519916

2 1.324739202 9.06038E-05

3 1.324717958 1.79368E-09

4 1.324717957 0

5 1.324717957 0

F(x

4)=0,方程解为1.324717957

2.1 线性方程组的数值求解的原理和算法及Excel实现。

Gauss消去法原理:

设有线性方程组,将其增广矩阵(A丨b)通过初等行变化为(A(n)丨b(n)),A(n)为上三角阵,在经过回代解除与原方程组同解的三角形方程组A(n)x=b(n)的解,得到方程组的解。

算法:

把方程组化为上三角形方程组,做消元的步骤,再做回带的步骤,解上三角形方程组A(n)x=b(n)。

Excel实现:

x 1+x

2

-4x

4

=1

-x

1+4x2+x

3

+3x

4

=-2

x 1+3x

2

+5x

3

-4x

4

=-4

2x

2+2x

3

-3x

4

=-2

A b

1 2 0 -4 1

-1 4 1 3 -2

1 3 5 -4 -4

0 2 2 -3 -2

1 2 0 -4 1

-1 6 1 -1 -1

1 1 5 0 -5

0 2 2 -3 -2

1 2 0 -4 1

6 1 -1 -1

0.166666667 4.833333333 0.166666667 -4.833333333

0.333333333 0.333333333 -3 -0.333333333

1 2 0 -4 1 1

6 1 -1 -1 0

4.833333333 1 -4.833333333 -1

0.068965517 -3.011494253 0 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 列数据从下至上依照公式计算逆矩阵数据

上三角形矩阵求逆

U

4 2 3 2 1 0 3 1 1

4

U -1 0.25 -0.5 -0.75 0.4375 1 0 -0.75 1 -0.25

0.25

3.1 Lagrange 插值的原理和算法及Excel 实现;

原理:将待求的n 次多项式插值函数pn(x )改写成另一种表示方式,再利用插值条件⑴确定其中的待定函数,从而求出插值多项式。 n=1时,设()i x f =i y 10i ,,=.作直线方程:

()()[]()[]01100

100010100

100

10

10)(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 -+--=

---+--=

---+

=

令()10

100101

1x y x x x x y x x x x L --+--=

,称1L 为两点式插值或线性插值. 2n =时,设().2,1,0,y ==i x f i i 令: ()()()()()()()()()()()()(),x 2

120210121012002010212y 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 yi E F G H

插值点与函数计算值

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).

再输入最后一个基函数L 3(x)的计算公式:=SUMPRODUCT 公式得到f (x )的近似值

Excel 实现:

插值节点

xi 1 2 3 4 yi 18 20 15 17

插值点与函数计算值

x L0 L1 L2 L3 L3(x) 2.5 -0.0625 0.5625 0.5625 -0.0625 17.5

作图数据区

点数: 100 x L0 L1 L2 L3 L3(x) 1 1 0 0 0 18 1.03 0.9458955 0.0877635 -0.0432135 0.0095545 18.295613

相关主题
文本预览
相关文档 最新文档