上机作业1教程方案.docxVIP

  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文档。上传文档
查看更多
2015级研究生《计算方法》作业 2015年11月上机作业1数值试验33-1试验目的:考察不动点迭代法的局部收敛性试验内容: 至少采用3种迭代法,迭代100次,考察收敛性,改变初值符号,再做迭代。分析收敛与发散的原因。(1)迭代原理:若实数满足,称为函数的一个不动点,迭代称为不动点迭代,称为迭代函数。由不动点方程建立迭代法,其中称为初值,需要预先给定。 方程分别对应下列不同形式的不动点方程:取,按迭代,并分析收敛性。(2)不动点迭代法代码编制函数文件Iteratepro.mfunction y=iteratepro(x)x1=g(x);n=1;while (norm(x1-x) =1.0e-5) (n=100) x=x1; x1=g(x);n=n+1;endx1n编制函数文件不动点方程(1)function y=g(x)y=(exp(x)-3)/2;不动点方程(2)function y=g(x)y=exp(x)-x-3;不动点方程(3)function y=g(x)y=x-(2*x-exp(x)+3)/(2-exp(x));(3)迭代结果汇总表:近似解初值x=-0.5迭代次数n初值x=0.5迭代次数n格式(1)-1.19677-1.37348格式(2)-1.373442-1.373441格式(3)-1.37344-1.37345(4)结果分析:(1)三种迭代格式均收敛,近似解为。(2)当设定的初值接近真实解,所用的迭代次数较小。(3)不同迭代格式,效果不一样,迭代格式(3)实质是newton迭代法,其迭代效果明显快于其他格式。3-2试验目的:考察Newton法求根的收敛速度试验内容:应用Newton法求解试验3-1中的方程,并与实验3-1中收敛的迭代法进行比较,考察收敛速度。精确到0.00001。Newton迭代法原理:在求解非线性方程时,它的困难在于是非线性函数,为克服这一困难,考虑它的线性展开。设当前点为,在处的展开式为令,解其方程得到(2)程序代码编制函数文件newton.mfunction y=newton(x0)x1=x0-fc(x0)/df(x0);n=1;while (abs(x1-x0)=1.0e-5)(n=100) x0=x1; x1=x0-fc(x0)/df(x0);n=n+1;endx1n对于试验3-1编制函数文件fc.mfunction y=fc(x)y=2*x-exp(x)+3;df.mfunction y=df(x)y=2-exp(x);运行结果结果汇总表:近似解初值x=-0.5迭代次数n初值x=0.5迭代次数n格式(1)-1.19677-1.37348格式(2)-1.373442-1.373441Newton迭代-1.37344-1.37345结果分析:(1)三者结果均收敛,解。(2)Newton迭代法迭代次数最小,收敛速度明显优于格式(1),(2)。3-3 试验目的:掌握求重根的方法试验内容:分别用Newton法和不动点迭代法求解方程,考察收敛速度,再用求重根的两种方法求方程的根,精确到0.00001。实验原理同3-1,3-2;程序代码Newton迭代法程序函数文件fc.mfunction y=fc(x)y=x-sin(x);df.mfunction y=df(x)y=1-cos(x);程序代码newton.mfunction y=newton(x0)x1=x0-fc(x0)/df(x0);n=1;while abs(x1-x0)=1.0e-5 x0=x1; x1=x0-fc(x0)/df(x0);n=n+1;end不动点迭代法编制函数文件Iteratepro.mfunction y=iteratepro(x)x1=g(x);n=1;while norm(x1-x)=1.0e-6 x=x1; x1=g(x);n=n+1;end函数文件g.mfunction y=g(x)y=sin(x);运行结果近似解初值x=1迭代次数n牛顿法1.9449e-0421不动点法0.0182k=410(3)为了提高牛顿法求重根的收敛阶采用以下俩种方法:方法一:程序:function[p1,err,y]=newtonroot(f,df,p0,eps,max1)p0for k=1:max1 p1=p0-2*(feval(f,p0)/feval(df,p0)); err=abs(p1-p0); p0=p1; p1,err,k,y=feval(f,p1)if(erreps)|(y==0)break;end取初值p=0.5,当迭代次数k=9满足精度要求,近似解为2.4925e-05方法二:程序:function[p1,err,y]=newton

文档评论(0)

a336661148 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档