课题一 迭代格式的比较文档格式.docx
《课题一 迭代格式的比较文档格式.docx》由会员分享,可在线阅读,更多相关《课题一 迭代格式的比较文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
、对于不同的迭代式子建立不同的funl.m文件
(1)
建立迭代式子
(1)的M文件:
functiony1=funl(x)
y1=(3*x+1)/x^2;
在matlab命令窗口中运行以下命令
>
[k,piancha,xk]=diedail(0.5,5)%初值是0.5,迭代5次
x=
0.5000
0.500010.0000
ans=
1.00009.500010.0000
0.500010.00000.3100
2.00009.69000.3100
0.500010.00000.310020.0832
3.000019.773220.0832
0.500010.00000.310020.08320.1519
4.000019.93140.1519
0.500010.00000.310020.08320.151963.1191
5.000062.967363.1191
k=
5
piancha=
62.9673
xk=
63.1191
由以上结果可知迭代式
(1)是发散的。
(2)
建立迭代式子
(2)的M文件:
y1=(x^3-1)/3;
[k,piancha,xk]=diedail(0.5,7)
0.5000-0.2917
1.00000.7917-0.2917
0.5000-0.2917-0.3416
2.00000.0499-0.3416
0.5000-0.2917-0.3416-0.3466
3.00000.0050-0.3466
0.5000-0.2917-0.3416-0.3466-0.3472
4.00000.0006-0.3472
0.5000-0.2917-0.3416-0.3466-0.3472-0.3473
5.00000.0001-0.3473
0.5000-0.2917-0.3416-0.3466-0.3472-0.3473-0.3473
6.00000.0000-0.3473
0.5000-0.2917-0.3416-0.3466-0.3472-0.3473-0.3473-0.3473
7.00000.0000-0.3473
7
1.0399e-006
-0.3473由以上结果可知迭代式
(2)是收敛的。
(3)
建立迭代式子(3)的M文件:
y1=(3*x+1)^(1/3);
在matlab命令窗口中运行以下命令:
[k,piancha,xk]=diedail(0.5,10)
0.50001.3572
1.00000.85721.3572
0.50001.35721.7181
2.00000.36091.7181
0.50001.35721.71811.8326
3.00000.11451.8326
0.50001.35721.71811.83261.8660
4.00000.03351.8660
0.50001.35721.71811.83261.86601.8756
5.00000.00961.8756
0.50001.35721.71811.83261.86601.87561.8783
6.00000.00271.8783
0.50001.35721.71811.83261.86601.87561.87831.8791
7.00000.00081.8791
0.50001.35721.71811.83261.86601.87561.87831.87911.8793
8.00000.00021.8793
0.50001.35721.71811.83261.86601.87561.87831.87911.87931.8794
9.00000.00011.8794
0.50001.35721.71811.83261.86601.87561.87831.87911.87931.87941.8794
10.00000.00001.8794
10
1.7458e-005
1.8794
由以上结果可知迭代式(3)是收敛的。
(4)
建立迭代式子(4)的M文件:
y1=1/(x^2-3);
[k,piancha,xk]=diedail(0.5,5)
0.5000-0.3636
1.00000.8636-0.3636
0.5000-0.3636-0.3487
2.00000.0149-0.3487
0.5000-0.3636-0.3487-0.3474
3.00000.0013-0.3474
0.5000-0.3636-0.3487-0.3474-0.3473
4.00000.0001-0.3473
0.5000-0.3636-0.3487-0.3474-0.3473-0.3473
5.00000.0000-0.3473
9.0701e-006
-0.3473
由以上结果可知迭代式(4)是收敛的。
(5)
建立迭代式子(5)的M文件:
y1=(3+1/x)^(1/2);
[k,piancha,xk]=diedail(0.5,8)
0.50002.2361
1.00001.73612.2361
0.50002.23611.8567
2.00000.37941.8567
0.50002.23611.85671.8811
3.00000.02441.8811
0.50002.23611.85671.88111.8793
4.00000.00191.8793
0.50002.23611.85671.88111.87931.8794
5.00000.00011.8794
0.50002.23611.85671.88111.87931.87941.8794
6.00000.00001.8794
0.50002.23611.85671.88111.87931.87941.87941.8794
7.00000.00001.8794
0.50002.23611.85671.88111.87931.87941.87941.87941.8794
8.00000.00001.8794
8
5.9875e-008
1.8794
由以上结果可知迭代式(5)是收敛的。
(6)
建立迭代式子(6)的M文件:
y1=x-(1/3)*((x^3-3*x-1)/(x^2-1));
0.5000-0.5556
1.00001.0556-0.5556
0.5000-0.5556-0.3168
2.00000.2388-0.3168
0.5000-0.5556-0.3168-0.3470
3.00000.0302-0.3470
0.5000-0.5556-0.3168-0.3470-0.3473
4.00000.0003-0.3473
0.5000-0.5556-0.3168-0.3470-0.3473-0.3473
4.5086e-008
由以上结果可知迭代式(6)是收敛的。
2、用事后误差估计
来控制迭代次数,并且打印出迭代的次数;
建立diedail.m文件程序如下:
function[k,piancha,xk]=diedail(x0)
x
(1)=x0
100
x(i+1)=funl(x(i))
piancha=abs(x(i+1)-x(i));
[(i-1)pianchax(i)]
if(piancha<
0.0000000005)%误差小于0.0000000005
k=i,xk=x(i)
break
i=i+1;
[kpianchaxk]
对于不同的收敛迭代式运行命令[k,piancha,xk]=diedail(0.5),有以下结果:
11
2.2008e-010
19
2.0403e-010
9
4.4683e-010
3.3969e-010
6
8.3267e-016
-0.3473
3、初始值的选取对迭代收敛有何影响;
对于f(x),如果其迭代式满足不动点存在的两个条件,则在其要求的区间内存在不动点,那么对于其所要求的区间上的所有点此迭代式都收敛。
也就是说,此时初值的选取对于迭代收敛没有影响。
又称全局收敛性。
以上四个收敛式都有全局收敛性。
初值的不同对于迭代式的敛散性和收敛阶没有影响,只是对于达到所要求误差的达到次数有一定的影响。
4、分析迭代收敛和发散的原因。
f(x)=0分解为x=
若其迭代后趋近于一点,称该点为不动点。
迭代法是一种逐次逼近法,其基本思想是将隐式方程
归结为一组显式的计算公式,就是说迭代工程实质上是一个逐步显化的过程。
发散迭代式的迭代过程可表示为图1
收敛迭代式的迭代过程可表示为图2
不动点的存在性:
x=
满足以下条件:
1.对于任意的在f(x)的定义域[a,b]上的
有
2.存在正常数L<
1,对于任意的x,y∈[a,b]都有
,则
在[a,b]上存在唯一的不动点,又可表述为
迭代法的收敛性:
只要
满足以上条件,则对任意的
,其迭代计算都收敛到不动点。