迭代算法也称为辗转法,是一种不断用变量的旧值递推新值的过程;与之相对应我们常用的方法是直接法(或称一次解法),即一次性
解决问题。迭代算法是计算机解决问题的一种基本方法。它可以很好的利用计算机运算速度快、适合做重复性操作的特点,让计算机一组指
令进行重复的执行,从而可以从变量的旧值推出它的一个新值。
利用迭代算法时,需要考虑的几个方面是:
一、确定迭代变量。在应用迭代算法的时候,至少存在一个直接或间接的不断由旧值推出新值的变量,这个变量就是迭代变量。
二、建立迭代关系式。所谓迭代关系式,是指如何从变量的一个值推出下一个值的公式(或关系)。迭代关系式的建立是解决迭代问题的
关键,通常可以使用递推或倒推的方法来完成。
三、对迭代过程进行控制。在什么时候结束迭代过程,这也是利用迭代算法进行编程的重要问题。不能让迭代过程无休止的重复执行下去。
迭代过程的控制通常可分为两种情况:一种是所需的迭代次数是个确定的值,可以计算出来;另一种是所需的迭代次数无法确定。前
一种情况可以用固定的迭代次数来控制过程,后一种情况需要进一步分析出结束迭代过程的条件。
其中我们比较常见经典的迭代算法有如欧几里德算法、斐波那契数列、牛顿迭代法等。
牛顿迭代法又称为牛顿-拉夫逊方法,它是牛顿在17世纪提出的一种在实数域和复数域上求近似值的方法。该方法用泰勒级数的前面几项来求
f(x)=0的根。
牛顿迭代公式----遇到方程f(x)=0,我们设r是f(x)=0的根,选取x0作为r的初始近似值,同时,我们