1、昆工数值分析上机作业国土资源工程 学院测绘工程 课题一 迭代格式的比较 要求 :1、编制一个程序进行运算,最后打印出每种迭代格式的敛散情况; 、建立迭代程序的M文件:function k,pc,xk=diedail(x0,k) x(1)=x0for i = 1:k x(i+1)=funl(x(i); pc=abs(x(i+1)-x(i);%偏差 i=i+1; xk=x(i);%第k次迭代的结果 (i-1) pc xkend p=(i-1) pc xk;%输出迭代次数、偏差、第k次迭代的结果、对于不同的迭代式子建立不同的funl.m文件(1)建立迭代式子(1)的M文件:function y1 =
2、funl(x) y1=(3*x+1)/x2;在matlab命令窗口中运行以下命令 k,pc,xk=diedail(0.7,10) %初值是0.7,迭代10次x = 0.7000x = 0.7000 6.3265ans = 1.0000 5.6265 6.3265x = 0.7000 6.3265 0.4992ans = 2.0000 5.8274 0.4992x = 0.7000 6.3265 0.4992 10.0231ans = 3.0000 9.5239 10.0231x = 0.7000 6.3265 0.4992 10.0231 0.3093ans = 4.0000 9.7138 0
3、.3093x = 0.7000 6.3265 0.4992 10.0231 0.3093 20.1559ans = 5.0000 19.8466 20.1559x = 0.7000 6.3265 0.4992 10.0231 0.3093 20.1559 0.1513ans = 6.0000 20.0046 0.1513x = 0.7000 6.3265 0.4992 10.0231 0.3093 20.1559 0.1513 63.5112ans = 7.0000 63.3599 63.5112x = 0.7000 6.3265 0.4992 10.0231 0.3093 20.1559 0
4、.1513 63.5112 0.0475ans = 8.0000 63.4638 0.0475x = 0.7000 6.3265 0.4992 10.0231 0.3093 20.1559 0.1513 63.5112 0.0475 506.6983ans = 9.0000 506.6508 506.6983x = 0.7000 6.3265 0.4992 10.0231 0.3093 20.1559 0.1513 63.5112 0.0475 506.6983 0.0059ans = 10.0000 506.6924 0.0059k = 10pc = 506.6924xk =0.0059由以
5、上结果可知迭代式(1)是发散的。(2)建立迭代式子(2)的M文件:function y1 =funl(x) y1=(x3-1)/3;在matlab命令窗口中运行以下命令 k,pc,xk=diedail(0.6,5)%初值0.6,迭代5次x = 0.6000x = 0.6000 -0.2613ans = 1.0000 0.8613 -0.2613x = 0.6000 -0.2613 -0.3393ans = 2.0000 0.0779 -0.3393x = 0.6000 -0.2613 -0.3393 -0.3464ans = 3.0000 0.0071 -0.3464x = 0.6000 -0
6、.2613 -0.3393 -0.3464 -0.3472ans = 4.0000 0.0008 -0.3472x = 0.6000 -0.2613 -0.3393 -0.3464 -0.3472 -0.3473ans = 5.0000 0.0001 -0.3473k = 5pc = 9.9907e-005xk = -0.3473由以上结果可知迭代式(2)是收敛的。(3)建立迭代式子(3)的M文件:function y1 =funl(x) y1=(3*x+1)(1/3);在matlab命令窗口中运行以下命令: k,pc,xk=diedail(0.9,12)%初值0.9,迭代12次结果为x =
7、0.6000x = 0.6000 -0.2613ans = 1.0000 0.8613 -0.2613x = 0.6000 -0.2613 -0.3393ans = 2.0000 0.0779 -0.3393x = 0.6000 -0.2613 -0.3393 -0.3464ans = 3.0000 0.0071 -0.3464x = 0.6000 -0.2613 -0.3393 -0.3464 -0.3472ans = 4.0000 0.0008 -0.3472x = 0.6000 -0.2613 -0.3393 -0.3464 -0.3472 -0.3473ans = 5.0000 0.0
8、001 -0.3473k = 5pc = 9.9907e-005xk = -0.3473 k,pc,xk=diedail(0.9,12)%初值0.9,迭代12次x = 0.9000x = 0.9000 1.5467ans = 1.0000 0.6467 1.5467x = 0.9000 1.5467 1.7800ans = 2.0000 0.2334 1.7800x = 0.9000 1.5467 1.7800 1.8508ans = 3.0000 0.0708 1.8508x = 0.9000 1.5467 1.7800 1.8508 1.8713ans = 4.0000 0.0204 1.
9、8713x = 0.9000 1.5467 1.7800 1.8508 1.8713 1.8771ans = 5.0000 0.0058 1.8771x =0.9000 1.5467 1.7800 1.8508 1.8713 1.8771 1.8787ans = 6.0000 0.0017 1.8787x = 0.9000 1.5467 1.7800 1.8508 1.8713 1.8771 1.8787 1.8792ans = 7.0000 0.0005 1.8792x = 0.9000 1.5467 1.7800 1.8508 1.8713 1.8771 1.8787 1.8792 1.8
10、793ans = 8.0000 0.0001 1.8793x = 0.9000 1.5467 1.7800 1.8508 1.8713 1.8771 1.8787 1.8792 1.8793 1.8794ans = 9.0000 0.0000 1.8794x = 0.9000 1.5467 1.7800 1.8508 1.8713 1.8771 1.8787 1.8792 1.8793 1.8794 1.8794ans = 10.0000 0.0000 1.8794x = 0.9000 1.5467 1.7800 1.8508 1.8713 1.8771 1.8787 1.8792 1.879
11、3 1.8794 1.8794 1.8794ans = 11.0000 0.0000 1.8794x = 0.9000 1.5467 1.7800 1.8508 1.8713 1.8771 1.8787 1.8792 1.8793 1.8794 1.8794 1.8794 1.8794ans = 12.0000 0.0000 1.8794k = 12pc = 8.5033e-007xk =1.8794由以上结果可知迭代式(3)是收敛的。(4)建立迭代式子(4)的M文件:function y1 =funl(x) y1=1/(x2-3);在matlab命令窗口中运行以下命令: k,pc,xk=di
12、edail(0.4,15)%初值0.4,迭代15次x = 0.4000x = 0.4000 -0.3521ans = 1.0000 0.7521 -0.3521x = 0.4000 -0.3521 -0.3477ans = 2.0000 0.0044 -0.3477x = 0.4000 -0.3521 -0.3477 -0.3473ans = 3.0000 0.0004 -0.3473x = 0.4000 -0.3521 -0.3477 -0.3473 -0.3473ans = 4.0000 0.0000 -0.3473x = 0.4000 -0.3521 -0.3477 -0.3473 -0
13、.3473 -0.3473ans = 5.0000 0.0000 -0.3473x = 0.4000 -0.3521 -0.3477 -0.3473 -0.3473 -0.3473 -0.3473ans = 6.0000 0.0000 -0.3473x = 0.4000 -0.3521 -0.3477 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473ans = 7.0000 0.0000 -0.3473x = 0.4000 -0.3521 -0.3477 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473ans = 8.
14、0000 0.0000 -0.3473x = 0.4000 -0.3521 -0.3477 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473ans = 9.0000 0.0000 -0.3473x = 0.4000 -0.3521 -0.3477 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473ans = 10.0000 0.0000 -0.3473x = 0.4000 -0.3521 -0.3477 -0.3473 -0.3473 -0.3473 -0.
15、3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473ans = 11.0000 0.0000 -0.3473x = 0.4000 -0.3521 -0.3477 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473ans = 12.0000 0.0000 -0.3473x = 0.4000 -0.3521 -0.3477 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.
16、3473 -0.3473 -0.3473ans = 13.0000 0.0000 -0.3473x = 0.4000 -0.3521 -0.3477 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473ans = 14.0000 0.0000 -0.3473x = 0.4000 -0.3521 -0.3477 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.
17、3473 -0.3473 -0.3473 -0.3473ans = 15.0000 0.0000 -0.3473k = 15pc = 5.5511e-017xk = -0.3473由以上结果可知迭代式(4)是收敛的。(5)建立迭代式子(5)的M文件:function y1 =funl(x) y1=(3+1/x)(1/2);在matlab命令窗口中运行以下命令: k,pc,xk=diedail(0.6,22)%初值0.6,迭代22次x = 0.6000x = 0.6000 2.1602ans = 1.0000 1.5602 2.1602x = 0.6000 2.1602 1.8609ans =
18、2.0000 0.2994 1.8609x = 0.6000 2.1602 1.8609 1.8808ans = 3.0000 0.0199 1.8808x = 0.6000 2.1602 1.8609 1.8808 1.8793ans = 4.0000 0.0015 1.8793x = 0.6000 2.1602 1.8609 1.8808 1.8793 1.8794ans = 5.0000 0.0001 1.8794x = 0.6000 2.1602 1.8609 1.8808 1.8793 1.8794 1.8794ans = 6.0000 0.0000 1.8794x = 0.6000
19、 2.1602 1.8609 1.8808 1.8793 1.8794 1.8794 1.8794ans = 7.0000 0.0000 1.8794x = 0.6000 2.1602 1.8609 1.8808 1.8793 1.8794 1.8794 1.8794 1.8794ans = 8.0000 0.0000 1.8794x = 0.6000 2.1602 1.8609 1.8808 1.8793 1.8794 1.8794 1.8794 1.8794 1.8794ans = 9.0000 0.0000 1.8794x = 0.6000 2.1602 1.8609 1.8808 1.
20、8793 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794ans = 10.0000 0.0000 1.8794x = 0.6000 2.1602 1.8609 1.8808 1.8793 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794ans = 11.0000 0.0000 1.8794x = 0.6000 2.1602 1.8609 1.8808 1.8793 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794ans = 12.0000 0.000
21、0 1.8794x = 0.6000 2.1602 1.8609 1.8808 1.8793 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794ans = 13.0000 0.0000 1.8794x = 0.6000 2.1602 1.8609 1.8808 1.8793 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794ans = 14.0000 0.0000 1.8794x = 0.6000 2.1602 1.8609 1.88
22、08 1.8793 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794ans = 15.0000 0.0000 1.8794x = 0.6000 2.1602 1.8609 1.8808 1.8793 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794ans = 16.0000 0.0000 1.8794x = 0.6000 2.1602 1.8609 1.8808 1.8793
23、 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794ans = 17.0000 0.0000 1.8794x = Columns 1 through 18 0.6000 2.1602 1.8609 1.8808 1.8793 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 Column 19 1.8794ans = 18.0000 0
24、.0000 1.8794x = Columns 1 through 18 0.6000 2.1602 1.8609 1.8808 1.8793 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 Columns 19 through 20 1.8794 1.8794ans = 19.0000 0.0000 1.8794x = Columns 1 through 18 0.6000 2.1602 1.8609 1.8808 1.8793 1.8794 1.8794 1
25、.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 Columns 19 through 21 1.8794 1.8794 1.8794ans = 20.0000 0.0000 1.8794x = Columns 1 through 18 0.6000 2.1602 1.8609 1.8808 1.8793 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 Colu
26、mns 19 through 22 1.8794 1.8794 1.8794 1.8794ans = 21.0000 0.0000 1.8794x = Columns 1 through 18 0.6000 2.1602 1.8609 1.8808 1.8793 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 1.8794 Columns 19 through 23 1.8794 1.8794 1.8794 1.8794 1.8794ans = 22.0000 0.0000
27、1.8794k = 22pc = 2.2204e-016xk =1.8794由以上结果可知迭代式(5)是收敛的。(6)建立迭代式子(6)的M文件:function y1 =funl(x) y1=x-(1/3)*(x3-3*x-1)/(x2-1);在matlab命令窗口中运行以下命令: k,pc,xk=diedail(0.5,50)%初值0.5,迭代50次x = 0.5000x = 0.5000 -0.5556ans = 1.0000 1.0556 -0.5556x = 0.5000 -0.5556 -0.3168ans = 2.0000 0.2388 -0.3168x = 0.5000 -0.
28、5556 -0.3168 -0.3470ans = 3.0000 0.0302 -0.3470x = 0.5000 -0.5556 -0.3168 -0.3470 -0.3473ans = 4.0000 0.0003 -0.3473x = 0.5000 -0.5556 -0.3168 -0.3470 -0.3473 -0.3473ans = 5.0000 0.0000 -0.3473x = 0.5000 -0.5556 -0.3168 -0.3470 -0.3473 -0.3473 -0.3473ans = 6.0000 0.0000 -0.3473x = 0.5000 -0.5556 -0.
29、3168 -0.3470 -0.3473 -0.3473 -0.3473 -0.3473ans = 7.0000 0.0000 -0.3473x = 0.5000 -0.5556 -0.3168 -0.3470 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473ans = 8.0000 0.0000 -0.3473x = 0.5000 -0.5556 -0.3168 -0.3470 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473ans = 9.0000 0.0000 -0.3473x = 0.5000 -0.5556
30、-0.3168 -0.3470 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473ans = 10.0000 0.0000 -0.3473x = 0.5000 -0.5556 -0.3168 -0.3470 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473ans = 11.0000 0.0000 -0.3473x = 0.5000 -0.5556 -0.3168 -0.3470 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473 -0.3473ans = 12.0000 0.0000
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1