• 1.摘要
  • 2.基本信息
  • 3.产生背景
  • 4.牛顿迭代公式
  • 5.其他迭代算法
  • 5.1.欧几里德算法
  • 5.2.斐波那契数列
  • 6.C++代码
  • 7.matlab代码
  • 7.1.定义函数
  • 7.2.主程序
  • 8.Python代码
  • 9.Java代码
  • 10.Fortran代码
  • 11.知识合集

牛顿迭代法

近似求解方程的方法

牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。

基本信息

  • 中文名

    牛顿迭代法

  • 外文名

    Newton's method

  • 别称

    牛顿-拉夫逊(拉弗森)方法

  • 提出时间

    17世纪

产生背景

1/3

多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数image的泰勒级数的前面几项来寻找方程image的根。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程image的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根,此时线性收敛,但是可通过一些方法变成超线性收敛。另外该方法广泛用于计算机编程中。

牛顿迭代公式

1/3

imageimage的根,选取image作为image的初始近似值,过点image做曲线image的切线imageimage,则imageimage轴交点的横坐标image,称imageimage的一次近似值。过点image做曲线image的切线,并求该切线与x轴交点的横坐标image,称image为r的二次近似值。重复以上过程,得image的近似值序列,其中,image称为imageimage次近似值,上式称为牛顿迭代公式

用牛顿迭代法解非线性方程,是把非线性方程image线性化的一种近似方法。把image在点image的某邻域内展开成泰勒级数image,取其线性部分(即泰勒展开的前两项),并令其等于0,即image,以此作为非线性方程image的近似方程,若image,则其解为image, 这样,得到牛顿迭代法的一个迭代关系式:image

已经证明,如果是连续的,并且待求的零点是孤立的,那么在零点周围存在一个区域,只要初始值位于这个邻近区域内,那么牛顿法必定收敛。 并且,如果不为0, 那么牛顿法将具有平方收敛的性能. 粗略的说,这意味着每迭代一次,牛顿法结果的有效数字将增加一倍。

迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。

利用迭代算法解决问题,需要做好以下三个方面的工作:

一、确定迭代变量

在可以用迭代算法解决的问题中,至少存在一个可直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。

二、建立迭代关系式

所谓迭代关系式,指如何从变量的前一个值推出其下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的关键,通常可以使用递推或倒推的方法来完成。

三、对迭代过程进行控制

在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。不能让迭代过程无休止地执行下去。迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。对于前一种情况,可以构建一个固定次数的循环来实现对迭代过程的控制;对于后一种情况,需要进一步分析得出可用来结束迭代过程的条件。

其他迭代算法

欧几里德算法

1/3