关于牛顿迭代法的课程设计实验指导.doc

关于牛顿迭代法的课程设计实验指导.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于牛顿迭代法的课程设计实验指导 非线性方程(或方程组)问题可以描述为求 x 使得f(x) = 0。在求解非线性方程的方法中,牛顿迭代法是求非线性方程(非线性方程组)数值解的一种重要的方法。牛顿是微积分创立者之一,微积分理论本质上是立足于对世界的这种认识:很多物理规律在微观上是线性的。近几百年来,这种局部线性化方法取得了辉煌成功,大到行星轨道计算,小到机械部件设计。牛顿迭代法正是将局部线性化的方法用于求解方程。 一、牛顿迭代法及其收敛速度 牛顿迭代法又称为牛顿-拉夫逊方法(Newton-Raphson method),是一种在实数域和复数域上通过迭代计算求出非线性方程的数值解方法。x1。即将方程f(x) = 0在x0处局部线性化计算出近似解x1,重复这一过程,将方程f(x) = 0在x1处局部线性化计算出x2,求得近似解x2,……。详细叙述如下:假设方程的解x*在x0附近(x0是方程解x*的近似),函数f(x)在点x0处的局部线化表达式为 由此得一次方程 求解,得 如图1所示,x1比x0更接近于x*。该方法的几何意义是:用曲线上某点(x0,y0)的切线代替曲线,以该切线与x轴的交点(x1,0)作为曲线与x轴的交点(x*,0)的近似(所以牛顿迭代法又称为切线法)。设xn是方程解x*的近似,迭代格式 ( n = 0,1,2,……) 就是著名的牛顿迭代公式,通过迭代计算实现逐次逼近方程的解。牛顿迭代法的最大优点是收敛速度快,具有二阶收敛。以著名的平方根算法为例,说明二阶收敛速度的意义。 例1.已知,求等价于求方程f(x) = x2 – 2 = 0的解。由于。应用牛顿迭代法,得迭代计算格式 ,(n = 0,1,2,……) 取x0= 1.4为初值,1.41421356237310 -1.42e-002 1 1.41428571428571 1.41421356237310 7.21e-005 2 1.41421356421356 1.41421356237310 1.84e-009 3 1.41421356237309 1.41421356237310 -2.22e-016 其中,第三栏15位有效数是利用MATLAB的命令sqrt(2)计算结果。观察表中数据,第一次迭代数据准确到小数点后四位,第二次迭代数据准确到小数点后八位,……。二阶收敛速度可解释为,每迭代一次,近似值的有效数位以二倍速度递增。对于计算任意正数C的平方根,牛顿迭代法计算同样具有快速逼近的性质。 二、牛顿迭代法的收敛性 牛顿迭代法在使用受条件限制,这个限制就是通常所说的牛顿迭代法的局部收敛性。 定理 假设f(x)在x*的某邻域内具有连续的二阶导数,且设f(x*)=0,,则对充分靠近x*的初始值x0,牛顿迭代法产生的序列{xn}收敛于x*。 下面例子是牛顿迭代法不收敛的反例。反例说明,牛顿迭代法局部收敛性要求初始点要取得合适,否则导致错误结果。 例2用牛顿迭代法解方程 f(x) = x3 – x – 3 = 0。 分析:利用MATLAB求多项式零点命令roots(p),计算得三次方程的三个根如下表 表2 三次方程的三个根 r1 r2 r3 1.6717 -0.8358 - 1.0469i -0.8358 + 1.0469i 显然,三次方程有一个实根r1。 为了使用牛顿迭代法计算,对于 f(x) = x3 – x – 3 ,首先求导数,得。取x0 = 0和x0 = 1取分别用牛顿迭代法计算,得 表3 不同初始值的迭代计算结果 x0 0 1 x1 -3.0000 2.5000 x2 -1.9615 1.9296 x3 -1.1472 1.7079 x4 -0.0066 1.6726 x5 -3.0004 1.6717 x6 -1.9618 1.6717 …… …… …… 对于迭代初值取x0=0,迭代数列中的第四项又回到初始点x0 = 0附近,算法将陷入死循环。 图2 牛顿迭代法初值不收敛示意图 而迭代初值取x0=1,可以使牛顿迭代法得到收敛。 三、特殊代数方程的牛顿迭代法收敛区域 将牛顿迭代法用于求解高阶代数方程时,首先回顾一个代数基本定理,即“一个n阶多项式在复数域内有n个根”。根据牛顿迭代法的局部收敛性质,任意取一个数据做为牛顿迭代的初值,可能导致迭代不收敛,即使这一个初值可以使迭代法收敛,下一个有趣的问题是“迭代序列将收敛于哪一个根”,其规律如何? 例3牛顿迭代法的收敛区域问题:Newton迭代法可以用于求解复数方程 z3 – 1 = 0,该方程在复平面上三个根分别是 ,, 选择中心位于坐标原点,边长为4的正方形内的任意点作初始值,进行迭代,将不收敛的点定义为第一类,给它们标一种颜色;再把收敛到三个根的初值分为三类,并分别标上不同

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档