工程中的数值分析.docx
《工程中的数值分析.docx》由会员分享,可在线阅读,更多相关《工程中的数值分析.docx(41页珍藏版)》请在冰点文库上搜索。
工程中的数值分析
.
《工程中的数值分析》开放性考试
工程中的数值分析题目:
建筑与土木工程系分院:
14土木工程本一班级:
陈凯名:
姓
14219114125号:
学
日14122016完成日期:
年月
温州大学瓯江学院教务部.
.
二○一二年十一月制
实现二分法的和算法及Excel1.1
由闭区间上连续函数的性质f(b)<0f(a)·[a,b]上连续,且在原理:
设函数f(x)二分法的基本思想内至少有一个实根.(a,b),方程(2.2)在区间及定理2-1可知,,进一步缩小有根区间:
逐步二分区间[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,代入方程得到x=φ(x),x=φ(x)····x=φk+121001(x),k=0,1,2,····k称为求解非线性方程组的简单迭代法,称φ(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实现:
3-x+1
x区间端点
.
.
a=-1b=0
xf(x)
-1-1
-0.9-0.629
-0.8-0.312
-0.7-0.043
-0.60.184
0.375-0.5
0.536-0.4
0.673-0.3
-0.20.792
0.899
-0.1
迭代式:
x=(x-1)^1/3kk+111-0.49999381.374998448
-0.4999979121.374999483
-0.4999993131.374999828
-0.4999998141.374999943
-0.4999999151.374999981
-0.50000001.37499999416
-0.500000017
1.374999998
.
.
18-0.50000001.374999999
-0.5000000191.375
-0.5000000201.375
-0.500000021
1.375
f(x19)=1.375
?
?
1?
?
(x满足下列两项条件:
a,bC)不同迭代格式的收敛性:
假定迭代函数?
?
?
?
?
?
(1)对任意,?
?
b?
a,bx有ax?
?
?
则迭代过程(x)x?
?
x?
?
L对使对任意
(2)存在正数L<1,,a,b1x有)(k1k?
?
?
?
?
?
?
?
?
。
均收敛于方程x,bxx的根a于任意初值0?
,若方程有根(3)?
?
,,?
?
?
?
?
?
?
?
?
?
?
,x在?
的某领域U()内连续,则存在?
?
0(,且)?
1,只要0?
(x?
)收敛就有迭代法x。
k?
1k
1.3Newton迭代法的原理和算法及Excel实现。
原理:
Newton迭代法的基本思想是“以直代曲”,将f(x)=0在每一步近似为线性方程来求解,具体方法如下:
将f(x)在x作Taylor一阶展开k'''2,§介于x和x)+1/2!
f之间(§)(x-x).f(x)=f(x)+f(x)(x-xkkkkk略去上式中的二次项,得到线性方程,解出x,作为新的近似根x:
k+1x=x-f(x)/f'(x),k=0,1,2,3······称为Newton迭代法kk+1kk算法:
先假定方程的有根区间为[a,b],计算[a,b]区间内各个点(整数点)的函数值,当函数值出现f(a)<0,f(b)>0时,[a,b]即为方程的有根区间。
将0000有根区间的长度若干等分,求出对应的点的函数值。
将此数据绘图,并根据所绘的图求得初始值。
求得方程f(x)的一次求导公式f′(x),得到迭代公式x=x-f(x)/f′(x),将初始值代入迭代公式中计算出下一项的x值,并计kkk+1k算对应的函数值,新的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
上图知迭代初值区间端点2
1
b=a=
作图数据区xf(x)
1-1
-0.7691.1
-0.4721.2
1.3
-0.103
.
.
1.40.344
1.50.875
1.61.496
1.72.213
1.83.032
1.93.959
25
迭代公式为x-(x^3-x-1)/3x^2-1
不动点迭代
f(xk)k
xk
0.344
1.4
0
11.3295081970.020519916
1.3247392029.06038E-052
1.3247179581.79368E-093
1.32471795704
1.3247179575
0
F(x)=0,方程解为1.324717957
42.1线性方程组的数值求解的原理和算法及Excel实现。
Gauss消去法原理:
(n)(n)(n)AA)通过初等行变化为(,丨b)bA将其增广矩阵设有线性方程组,(丨(n)(n)得Ax=b的解,在经过回代解除与原方程组同解的三角形方程组为上三角阵,到方程组的解。
算法:
把方程组化为上三角形方程组,做消元的步骤,再做回带的步骤,解上三角形.
.
方程组A(n)x=b(n)。
Excel实现:
x+x-4x=1412-x+4x2+x+3x=-2413x+3x+5x-4x=-442132x+2x-3x=-2
423
A
b
121-40
-2-1431
-4513-4
-2-3022
1-4012
-11-1-16
-50151
-220-32
110-42
-1-1
6
1
0.1666666674.8333333330.166666667-4.833333333
0.3333333330.333333333-3-0.333333333
.
.
120-411
-16
1
0
-1
4.8333333331-4.833333333-1
00
0.068965517-3.011494253
三角分解法原理:
将系数矩阵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
4232
310
11
4
-1U0.4375-0.50.25-0.75
-0.7510
-0.251
0.25
.
.
3.1Lagrange插值的原理和算法及Excel实现;
原理:
将待求的n次多项式插值函数pn(x)改写成另一种表示方式,再利用插值条件⑴确定其中的待定函数,从而求出插值多项式。
?
?
,i?
0,1.作直线方程:
xy?
f时,设n=1iiy?
y01(x?
x)y?
y?
00x?
x011?
?
?
?
?
?
x?
y?
x)?
yx?
x?
xy(x?
0010010xx?
011?
?
?
?
xxy?
y(x?
x)?
?
0011xx?
01x?
xx?
x?
?
01,称L为两点式插值或线性插值.y?
yLx?
令
1101x?
xx?
x0011?
?
i?
0,x1,2y?
f.时,设2n?
令:
ii?
?
?
?
?
?
?
?
?
?
?
?
xxx?
xx?
x?
xx?
xxx?
x?
?
?
100221,?
Lx?
y?
yy?
?
?
?
?
?
?
?
?
?
?
?
2012x?
x?
xxx?
xx?
?
xxxx?
x121220200110L为三点式插值或抛物插值.称2算法:
先建立一个Excle数据表:
插值节点
DABCxi
E
F
H
G
yi
插值点与函数计算值
xLLLL(x)L21330a
在单元格中输入插值点a
求基函数L=(a-B)*(a-C)*(a-E)/(E-F)/(E-G)/(E-H)
0.
.
L=(a-A)*(a-C)*(a-D)/(F-E)/(F-G)/(F-H)1以此类推求至L再求出L(x).3,3再输入最后一个基函数L(x)的计算公式:
=SUMPRODUCT公式得到f(x)的近似3值
Excel实现:
插值节点
4123xi
17
20
yi
18
15
插值点与函数计算值L3
L1L2L3(x)
xL0
-0.06252.5
-0.0625
0.56250.5625
17.5
作图数据区
100:
点数L3L3(x)L0xL1L2
0
18
1
10
0
0.009554518.2956130.94589551.030.0877635-0.0432135
0.018236-0.082908
0.893564
1.060.171108
18.572704
0.02607150.84297851.090.250114518.831651-0.1191645
0.0330880.324864
0.794112
1.1219.072832
-0.152064
0.03931250.39543750.74693751.1519.296625-0.1816875
19.503408
0.701428
1.18
-0.208116
0.461916
0.044772
.
.
3.2Newton插值的原理和算法及Excel实现。
原理:
牛顿插值通过求各阶差商,递推得到的一个公式:
f(x)=f[x]+f[x,x](x-x)+f[x,x,x](x-x)(x-x1)+...f[x,...x](x-x)...(0100201n000x-x)+Rn(x)。
n-1LL:
,改写21x?
xy?
yx?
x?
?
?
?
0011x?
y?
?
xLxy?
?
y
00110x?
xx?
xx?
x001110?
?
?
?
x?
xff?
?
01),?
x?
?
f(xx
00xx?
01?
?
?
?
x?
fxf?
?
?
?
?
?
21x?
f?
xx?
Lx
002x?
x01?
?
?
?
?
?
?
?
xfx?
fffxx?
0120?
x?
xx?
x?
?
?
?
0012.x?
x?
xx?
?
?
10x?
x12.
.
?
?
?
?
?
?
?
?
yx?
xff,xf,yz?
f?
?
?
?
则,,z,ffx,y?
?
x,y记
y?
xz?
y?
?
?
?
?
?
?
?
x?
fxNxxx?
f?
x两点公式可改为:
;,00101?
?
?
?
?
?
?
?
?
?
?
?
?
?
xxxx?
?
fxNxxf?
xxx?
fxx?
?
x三点公式可改为:
.,,,1100201020?
?
?
?
?
?
系数称为差商(均差)这种插值形式的基函数为.xx?
x?
x?
x1,x,...,100算法:
先建立一个Excle数据表:
插值节点
xi123456
FECDByiA
五阶四阶三阶xl0一阶二阶
1A
2B
3C
4D
5E
6F
()计算差商表1次n假设=(B-A)/(2-1)输入一阶差商的计算公式“”以此类推往下拉.
.
输入二阶差商的计算公式用一阶的值相隔两数相减除以x对应相隔两数相减的值,以此类推往下拉
三阶,四阶,N阶如此算下去
(2)计算插值点处的函数值
输入插值点;
分别输入Newdon插值函数N1,N2···N-1的计算公式;
分别得到插值点处的1阶至n-1阶插值函数值.
插值节点
xi123456
15
20
1121
24
yi
12
差商表fixi
-0.6666666671.583333333-0.9758112-3.5
5.666666667-3.2916666672201-5.5
-7.5-1011.5321
-1111134
245-9
6
15
插值点与函数计算值
xN1N4
N2
N3
17.5353.7
33.6
15.39313.866825
.
.
作图数据区
100
N1
xN2
N4
N3
121212112
12.5662512.41.0512.504512.07186406
13.11512.81.113.00112.215825
13.6462513.48912.4246140613.21.15
14.16
13.9681.213.612.6912
14.6562514.437513.008789061.2514
15.13514.8971.314.413.370825
15.5962515.34613.770989061.35
14.8
4.1数据拟合的最小二乘法的原理和算法;
.
.
y=f(x),因此不能要求:
当实验提供了大量数据时,由于观测数据往往不准确原理使近似曲线尽量反映所严格为零,)-y(i=1,2,…,m)通过所有点,只要求δ=f(xiii给数据点的变化趋势同时偏差平方和最小,常采用欧式范数作为误差度量的标,此即称为最小二乘法原理。
准,...)(i=0,1,关于最小二乘法的一般提法是:
算法:
对给定的一组数据(x,yii中求函数φ(x),……φ(x)}m),要求在函数类Ф=Span{φ(x),φ(x),n201n?
**?
)a(x)?
x(S1
()mn?
jj0?
j使误差平方和mmm2?
?
?
22**2?
?
2
))x?
x)?
y)?
miny(?
S(?
((Siiiii2?
?
S00?
ii?
i?
0为了使问题的提法更有一般性,,通常在最小二乘法中考虑加权平方和mm2?
?
2*2*?
?
?
)y(S(x)?
mx(()?
y)?
inS?
)(4.3iiiiii2?
?
S0?
i0i?
?
?
))xf(0?
表示不同点(x,可表处的数据比重不同,称为权系数,例如iiiixfx处重复观测的次数。
))((,示在点ii*按条件式(4.3)求函数的方法称为数据拟合的最小二乘法,用几何(x)S*语言,即称为曲线拟合的最小二乘法。
称为最小二乘解,S(x)为拟合。
(Sx)函数。
4.2直线拟合最小二乘法的Excel实现
建立Excle数据表,输入实验数据
输入拟合多项式的次数
列出法方程组在B6:
F9中并输入计算公式计算出结果.之后分解方程组再回代入方程中,并且计算平方误差,作图
.
.
X1.22.84.35.4
11.541.9Y28.12.1
1
1
1
1
W
法方程组次数1413.70083.6
381.8156.930013.7
00001
0
1
0
0
0
解法方程组-11.77739196
026.85041.8
9.540844367030.1821109303.163463292
0010
001
XP(X)
3.1
17.79922558
作图数据区
100
点数
P(X)
X
1.2-0.328378716
0.0723367471.242
1.284
0.473052211
.
.
1.3260.873767674
4.3曲线拟合最小二乘法的Excel实现。
建立Excle数据表,输入实验数据,依照数据变化趋势设想y=f(x)的方程,再用线性函数S(u)来拟合数据.
将数据取倒数变换到下方,再有法方程组输入公式计算,进行矩阵分解以及回代结果.计算平方误差最后确定初值输出作图数据.
实验数据
1
2
3
4
5
6
7
8
t
169131211101415
9.86
8.01
4
6.5
8.79
9.5
9.3
9.7
y
10.7
10
10.4210.3210.2
10.5110.5810.62
.
.
1
1111111
ω1
1
1
1
1
1
1
1
变化数据0.333330.166660.142850.125
0.2
1
0.5
0.25
6667
7143
3333
μ0.090900.083330.076920.071420.066660.111110.0625
0.1
8571
6667
1111
9091
3333
3077
0.153840.124840.113760.107520.105260.103090.101410.25
6154
3945
5643
6882
3158
27849878
w
0.093450.095140.094510.094160.098030.096890.095960.1
794492992259216
747979581959
1
1
1
1
1
1
1
1
ω1
1
1
1
1
1
1
1
3.380721.8279516
1513
8993
3.380721.584340.52734
3796
6533
8993
解法方程组
0.845180.45698平方误0.079974
7878
2248
差7364
0.932740.151280.000320.16218
.
.
5142
007480058967
作图数据区
100
4.129401
9607
4.524671.15
3716
4.884301.3
623
5.212911.45
7434
5.514351.6
5146
5.791851.75
6083
6.048161.9
2545
6.285612.05
335
6.506212.2
.
.
5402
6.711702.35
0559
数值积分的原理和算法;5.1
.
x:
原理将函数图形与轴形成的图形等分求面积即求其积分.
.
常用的一个方法是,通过各种途径来构造数值求积公式,:
从不同角度出发,算法利用插值多项式来构造数值求积公式,具体做法如下:
次插值多项式:
)的n做f(x<在积分区间[a,b]上取一组点:
a<=x)xl(f(L(x)x?
)knkk?
0)近似插值基函数,用Ln(x)(k=0,1,…,n)为n次Lagrange其中l(xkf(x),则有:
代替被基函数nbbb?
?
?
?
d(xf(x))?
f(x)d?
?
L(x)dlIxxknkxaaa0?
k若记x?
xnbbi