课题一 迭代格式的比较.doc_第1页
课题一 迭代格式的比较.doc_第2页
课题一 迭代格式的比较.doc_第3页
课题一 迭代格式的比较.doc_第4页
课题一 迭代格式的比较.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课题一 迭代格式的比较 要求 :1、 编制一个程序进行运算,最后打印出每种迭代格式的敛散情况; 、建立迭代程序的M文件:function k,piancha,xk=diedail(x0,k) x(1)=x0for i = 1:k x(i+1)=funl(x(i)%用所用的格式迭代 piancha=abs(x(i+1)-x(i);%偏差 i=i+1; xk=x(i);%第k次迭代的结果 (i-1) piancha xkend p=(i-1) piancha xk;%输出迭代次数、偏差和第k次迭代的结果、对于不同的迭代式子建立不同的funl.m文件(1)建立迭代式子(1)的M文件:function y1 =funl(x) y1=(3*x+1)/x2;在matlab命令窗口中运行以下命令 k,piancha,xk=diedail(0.5,5) %初值是0.5,迭代5次x = 0.5000x = 0.5000 10.0000ans = 1.0000 9.5000 10.0000x = 0.5000 10.0000 0.3100ans = 2.0000 9.6900 0.3100x = 0.5000 10.0000 0.3100 20.0832ans = 3.0000 19.7732 20.0832x = 0.5000 10.0000 0.3100 20.0832 0.1519ans = 4.0000 19.9314 0.1519x = 0.5000 10.0000 0.3100 20.0832 0.1519 63.1191ans = 5.0000 62.9673 63.1191k = 5piancha = 62.9673xk = 63.1191由以上结果可知迭代式(1)是发散的。(2)建立迭代式子(2)的M文件:function y1 =funl(x) y1=(x3-1)/3;在matlab命令窗口中运行以下命令 k,piancha,xk=diedail(0.5,7)x = 0.5000x = 0.5000 -0.2917ans = 1.0000 0.7917 -0.2917x = 0.5000 -0.2917 -0.3416ans = 2.0000 0.0499 -0.3416x = 0.5000 -0.2917 -0.3416 -0.3466ans = 3.0000 0.0050 -0.3466x = 0.5000 -0.2917 -0.3416 -0.3466 -0.3472ans = 4.0000 0.0006 -0.3472x = 0.5000 -0.2917 -0.3416 -0.3466 -0.3472 -0.3473ans = 5.0000 0.0001 -0.3473x = 0.5000 -0.2917 -0.3416 -0.3466 -0.3472 -0.3473 -0.3473ans = 6.0000 0.0000 -0.3473x = 0.5000 -0.2917 -0.3416 -0.3466 -0.3472 -0.3473 -0.3473 -0.3473ans = 7.0000 0.0000 -0.3473k = 7piancha = 1.0399e-006xk = -0.3473由以上结果可知迭代式(2)是收敛的。(3)建立迭代式子(3)的M文件:function y1 =funl(x) y1=(3*x+1)(1/3);在matlab命令窗口中运行以下命令: k,piancha,xk=diedail(0.5,10)x = 0.5000x = 0.5000 1.3572ans = 1.0000 0.8572 1.3572x = 0.5000 1.3572 1.7181ans = 2.0000 0.3609 1.7181x = 0.5000 1.3572 1.7181 1.8326ans = 3.0000 0.1145 1.8326x = 0.5000 1.3572 1.7181 1.8326 1.8660ans = 4.0000 0.0335 1.8660x = 0.5000 1.3572 1.7181 1.8326 1.8660 1.8756ans = 5.0000 0.0096 1.8756x = 0.5000 1.3572 1.7181 1.8326 1.8660 1.8756 1.8783ans = 6.0000 0.0027 1.8783x = 0.5000 1.3572 1.7181 1.8326 1.8660 1.8756 1.8783 1.8791ans = 7.0000 0.0008 1.8791x = 0.5000 1.3572 1.7181 1.8326 1.8660 1.8756 1.8783 1.8791 1.8793ans = 8.0000 0.0002 1.8793x = 0.5000 1.3572 1.7181 1.8326 1.8660 1.8756 1.8783 1.8791 1.8793 1.8794ans = 9.0000 0.0001 1.8794x = 0.5000 1.3572 1.7181 1.8326 1.8660 1.8756 1.8783 1.8791 1.8793 1.8794 1.8794ans = 10.0000 0.0000 1.8794k = 10piancha = 1.7458e-005xk = 1.8794由以上结果可知迭代式(3)是收敛的。(4)建立迭代式子(4)的M文件:function y1 =funl(x) y1=1/(x2-3);在matlab命令窗口中运行以下命令: k,piancha,xk=diedail(0.5,5)x = 0.5000x = 0.5000 -0.3636ans = 1.0000 0.8636 -0.3636x = 0.5000 -0.3636 -0.3487ans = 2.0000 0.0149 -0.3487x = 0.5000 -0.3636 -0.3487 -0.3474ans = 3.0000 0.0013 -0.3474x = 0.5000 -0.3636 -0.3487 -0.3474 -0.3473ans = 4.0000 0.0001 -0.3473x = 0.5000 -0.3636 -0.3487 -0.3474 -0.3473 -0.3473ans = 5.0000 0.0000 -0.3473k = 5piancha = 9.0701e-006xk = -0.3473由以上结果可知迭代式(4)是收敛的。(5)建立迭代式子(5)的M文件:function y1 =funl(x) y1=(3+1/x)(1/2);在matlab命令窗口中运行以下命令: k,piancha,xk=diedail(0.5,8)x = 0.5000x = 0.5000 2.2361ans = 1.0000 1.7361 2.2361x = 0.5000 2.2361 1.8567ans = 2.0000 0.3794 1.8567x = 0.5000 2.2361 1.8567 1.8811ans = 3.0000 0.0244 1.8811x = 0.5000 2.2361 1.8567 1.8811 1.8793ans = 4.0000 0.0019 1.8793x = 0.5000 2.2361 1.8567 1.8811 1.8793 1.8794ans = 5.0000 0.0001 1.8794x = 0.5000 2.2361 1.8567 1.8811 1.8793 1.8794 1.8794ans = 6.0000 0.0000 1.8794x = 0.5000 2.2361 1.8567 1.8811 1.8793 1.8794 1.8794 1.8794ans = 7.0000 0.0000 1.8794x = 0.5000 2.2361 1.8567 1.8811 1.8793 1.8794 1.8794 1.8794 1.8794ans = 8.0000 0.0000 1.8794k = 8piancha = 5.9875e-008xk =1.8794由以上结果可知迭代式(5)是收敛的。(6)建立迭代式子(6)的M文件:function y1 =funl(x) y1=x-(1/3)*(x3-3*x-1)/(x2-1);在matlab命令窗口中运行以下命令: k,piancha,xk=diedail(0.5,5)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.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.3473k = 5piancha = 4.5086e-008xk = -0.3473由以上结果可知迭代式(6)是收敛的。2、 用事后误差估计来控制迭代次数,并且打印出迭代的次数; 建立diedail.m文件程序如下:function k,piancha,xk=diedail(x0)x(1)=x0for i = 1:100x(i+1)=funl(x(i)piancha=abs(x(i+1)-x(i);(i-1) piancha x(i)if (piancha0.0000000005)%误差小于0.0000000005k=i,xk=x(i)breakendi=i+1;endk piancha xk对于不同的收敛迭代式运行命令k,piancha,xk=diedail(0.5),有以下结果:(2)k = 11piancha = 2.2008e-010xk = -0.3473(3)k = 19piancha = 2.0403e-010xk = 1.8794(4)k = 9piancha = 4.4683e-010xk = -0.3473(5)k = 10piancha = 3.3969e-010xk = 1.8794(6)k = 6piancha = 8.3267e-016xk = -0.3473 3、 初始值的选取对迭代收敛有何影响; 对于f(x),如果其迭代式满足不动点存在的两个条件,则在其要求的区间内存在不动点,那么对于其所要求的区间上的所有点此迭代式都收敛。也就是说,此时初值的选取对于迭代收敛没有影响。又称全局收敛性。以上四个收敛式都有全局收敛性。 初值的不同对于迭代式的敛散性和收敛阶没有影响,只是对于达到所要求误差的达到次数有一定的影响。4、分析迭代收敛和发散的原因。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论