数值分析3牛顿迭代法.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值分析3牛顿迭代法

§3 牛顿迭代法Newton Iteration ————切线法 牛顿迭代法是最著名的方程求根方法。已经通过各种方式把它推广到解其他更为困难的非线性问题。 【例如】非线性方程组、非线性积分方程和非线性微分方程。 虽然牛顿法对于给定的问题不一定总是最好的方法,但它的简单形式和快的收敛速度常常使得解非线性问题的人优先考虑它。 迭代一般理论告诉我们,构造好的迭代函数可使收敛速度提高。然而迭代函数的构造方法又各不相同,方法多样。牛顿法是受几何直观启发,给出构造迭代函数的一条重要途径。 牛顿迭代的基本思想:方程f(x)=0的根,几何意义是曲线y=f(x)与ox轴y=0的交点。求曲线与y=0的交点没有普遍的公式,但直接与0x轴的交点容易计算。用直线近似曲线y=f(x),从而用直线方程的根逐步代替f(x)=0的根。即把非线性方程逐步线性化。 方法:设xk是f(x)=0的一个近似根,把f(x)在xk处作一阶Taylor展开,得到 (19) 设≠0,由于 所以求得解记为,有 牛顿迭代公式: (20) 按牛顿迭代计算称为牛顿迭代法。 牛顿法的几何意义:选初值xk以后,过点,作曲线y=f(x)的切线,其切线方程为 (21) 切线与ox轴的交点,为,则 (22) 牛顿迭代法也称为切线法。 迭代法的收敛性:如果取,则有x=g(x),从而牛顿迭代公式就是 因此就可以由考察g(x)的性质,来讨论迭代法的收敛性及收敛速度。迭代过程的收敛速度是指迭代过程中误差的下降速度。 【收敛阶定义1】 设迭代过程收敛于方程x=g(x)的根x*,如果迭代误差,当k→∞时成立 (24) 则称该迭代过程是p阶收敛的。特别p=1时称为线性收敛,p1时称超线性收敛,p=2时称为平方收敛。 【定理3】 若f(x)在根附近存在连续的二阶导数,x*是f(x)的单根,且初始值x0充分接近x*,则牛顿迭代过程收敛,而且有 (25) 证明 1)对于f(x),取,则牛顿迭代过程为,注意到 由于x*是f(x)=0的单根,即=0,,所以有 (26) 由定理2知,迭代过程是局部收敛的。 2)将g(x)在x*处进行泰勒展开并代入,有 注意到,x*=g(x*),得到 因此有 定理证毕 【】x*附近具有平方收敛速度。 牛顿迭代法的优点:快速收敛性,算法简单、容易实现 缺点:初值必须选在x*附近,否则,可能不收敛 【例】 用牛顿法解下面方程在x=0.5附近的根,要求精确到。 解 牛顿迭代公式为 取初值,迭代计算,得到 【注】牛顿法的收敛速度非常快 附:牛顿法的算法函数程序:(存至work目录中) function y=newton(x0) x1=x0-f1(x0); n=1; while(norm(x1-x0)=1.0e-6)(n=1000) x0=x1; x1=x0-f1(x0);n=n+1; end vpa(x1,7),n %输出n,方程的近似解 function y=f1(x) y=(x-exp(-x))/(1+x); end newton(0.5) 观察初值的选取对解的影响 【例】 用牛顿法求方程=0的根。 首先选取初值:(转到指令窗) x=-10:0.01:10;y=x.^3-x-1;plot(x,y,r,x,0*x) 解 牛顿迭代公式为 function y=f1(x) y=(x^3-x-1)/(3*x^2-1); end 分别取初值和1.3,比较所用迭代次数. newton(0.6) newton(1.3)

文档评论(0)

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

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

1亿VIP精品文档

相关文档