初值的选取对迭代法的影响实验报告.docVIP

初值的选取对迭代法的影响实验报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
初值的选取对迭代法的影响 实验目的:通过具体的数值实验,体会选取不同的初值对同一迭代法的影响。 实验内容:用牛顿迭代法求方程在=1.5附近的根。 实验要求: (1)对牛顿迭代公式: ,编写程序进行实验,分别取,迭代10次,观察比较其计算值,并分析原因。 (2)用MATLAB内部函数solve直接求出方程的所有根,并与(1)的结果进行比较。 试验过程: ①首先保存牛顿切线法的MATLAB程序为M文件,命名为newtonqx.m. function [k,xk,yk,piancha,xdpiancha]=newtonqx(x0,tol,ftol,gxmax) x(1)=x0; for i=1: gxmax x(i+1)=x(i)-fnq(x(i))/(dfnq(x(i))+eps); piancha=abs(x(i+1)-x(i)); xdpiancha= piancha/( abs(x(i+1))+eps); i=i+1; xk=x(i);yk=fnq(x(i)); [(i-1) xk yk piancha xdpiancha] if (abs(yk)ftol)((pianchatol)|(xdpiancha tol)) k=i-1; xk=x(i);[(i-1) xk yk piancha xdpiancha] return; end end if igxmax disp(请注意:迭代次数超过给定的最大值gxmax。) k=i-1; xk=x(i);[(i-1) xk yk piancha xdpiancha] return; end [(i-1),xk,yk,piancha,xdpiancha]; ②建立名为fnq.m的M文件 function y=fnq(x) y=x^3-x-1; ③建立名为dfnq.m的M文件 function y=dfnq(x) y=3*x^2-1; a.当初始值取时,迭代次数为10,要求精度为,在MATLAB工作窗口输入程序为 [k,xk,yk,piancha,xdpiancha]=newtonqx(0,1e-3,1e-3,10) 运行后输出结果如表1-1 表1-1 1.0000 -1.0000 -1.0000 1.0000 1.0000 2.0000 -0.5000 -0.6250 0.5000 1.0000 3.0000 -3.0000 -25.0000 2.5000 0.8333 4.0000 -2.0385 -7.4320 0.9615 0.4717 5.0000 -1.3903 -2.2970 0.6482 0.4662 6.0000 -0.9116 -0.8460 0.4787 0.5251 7.0000 -0.3450 -0.6960 0.5666 1.6421 8.0000 -1.4278 -2.4827 1.0827 0.7583 9.0000 -0.9424 -0.8946 0.4853 0.5150 10.0000 -0.4049 -0.6615 0.5375 1.3272 由以上可知初始值取时,迭代次数为10时,迭代次数超过给定的最大值gxmax。根的近似值xk=-0.4049,函数值yk=-0.6615,偏差 piancha=0.5375和相对偏差xdpiancha=1.3272。 b.当初始值,迭代次数为10,要求精度为,在MATLAB工作窗口输入程序为 [k,xk,yk,piancha,xdpiancha]=newtonqx(1.5,1e-3,1e-3,10) 运行后输出结果如表1-1 表1-2 1.0000 1.3478 0.1007 0.1522 0.1129 2.0000 1.3252 0.0021 0.0226 0.0171 3.0000 1.3247 0.0000 0.0005 0.0004 由以上可知初始值取时,迭代次数为10时,迭代次数k=3。根的近似值xk= 1.3247,函数值yk= 9.2438e-007,偏差piancha= 4.8222e-004和相对偏差xdpiancha=3.6402e-004。 c.用solve函数直接计算方程的所有根,在MATLAB工作窗口输入程序 solve(x^

您可能关注的文档

文档评论(0)

153****9595 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档