牛顿迭代法解非线性方程(组)----迭代原理介绍和迭代公式推导

 

       在辨识工作中,常常需要对辨识准则或者判据进行求极值,这往往涉及到求非线性方程(组)的解问题。牛顿迭代法是一种常用方法。下面把自己对牛顿迭代法的学习和理解做个总结。
 
1.一元非线性方程的牛顿迭代公式和原理
       以一元非线性方程 f(x)=0 为例,对函数 f(x)进行Taylor级数展开(只展开至线性项)得
       f(x) = f(x0)+f'(x0)(x-x0)
      所以方程可写成
      f(x0)+f'(x0)(x-x0) = 0
       其中x0是给定的已知值,则不难推导出方程的解(当然,只是近似解,毕竟Taylor展开过程中只取了线性项)
       x = x0 - f(x0) / f'(x0)
       其中x不是真实解,但是相比之前的x0更靠近真实解了,因此可以多重复几次上述过程,从而使得到的解非常接近准确值。所以,对于一元非线性方程,牛顿拉夫逊迭代公式为:
        x(k+1) = x(k) - f(x(k)) / f'(x(k)) 

       根据Taylor级数的几何意义我们可以从几何上形象的看牛顿迭代法的求解f(x)=0的过程。
牛顿迭代法解非线性方程(组)----迭代原理介绍和迭代公式推导
       第一次迭代x1 = x0 - f(x0) / f'(x0),其中f(x0) / f'(x0)的几何意义很明显,就是x0到x1的线段长度(这可以从直角三角形的知识得到)。第二次迭代x2 = x1 - f(x1) / f'(x1),其中f(x1) / f'(x1)的几何意义很明显,就是x1到x2的线段长度。同理可以进行第三次迭代第四次迭代,可以明显的看出x的取值在不断逼近真实解x*。
       可能有人问,迭代求得的结果会不会不收敛,也就是x会不会偏离x*。由于x0是在x*附近区域取值的,因此x0到x1这段曲线应该认为是平滑的没有转折的,因此切线与x轴的交点只会越来越接近真实解x*。但是如果x0的取值离x*比较远的话,那么x0到x1这段曲线上可能有“转折”,这样就可能引起迭代的不收敛。下图中迭代从x0到x1是在靠近真实解,但x2却反而远离真实解。
牛顿迭代法解非线性方程(组)----迭代原理介绍和迭代公式推导

       这也是牛顿拉夫逊迭代法在解非线性方程(组)问题时,要求初值选定尽量接近真实解得原因。


 

2.二元非线性方程组的牛顿迭代公式

牛顿迭代法解非线性方程(组)----迭代原理介绍和迭代公式推导
       可以看出,对二元非线性方程组的每一个方程分别Taylor展开并推导相对来说麻烦了一些,但是也是可接受的。但是对于三元及更多元的非线性方程组来说,分别对每一个方程进行Taylor展开最后求解多元线性方程组也是非常复杂的。所以用矩阵的形式,根据牛顿迭代的原理和意义进行推导,能使得推导过程和表达式更简单。

 

3.多元函数方程组迭代

牛顿迭代法解非线性方程(组)----迭代原理介绍和迭代公式推导

posted @ 2016-08-20 07:02  行动救赎  阅读(7962)  评论(0编辑  收藏  举报