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


     

           在辨识工作中,常常需要对辨识准则或者判据进行求极值,这往往涉及到求非线性方程(组)的解问题。牛顿迭代法是一种常用方法。下面把自己对牛顿迭代法的学习和理解做个总结。
     
    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.多元函数方程组迭代

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

  • 相关阅读:
    由自身经历谈“不谋全局者,不足以谋一域”
    MySQL 常用SQL语句
    举例说明android中ListPreference的使用方法
    cookie机制和session机制的区别
    thinkphp浏览历史功能实现方法
    利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
    PHP+Ajax点击加载更多内容 -这个效果好,速度快,只能点击更多加载,不能滚动自动加载...
    php用正则表达式匹配URL的简单方法(亲测可行)
    PHP实现记录浏览历史页面
    [译] 流言终结者 —— “SQL Server 是Sybase的产品而不是微软的”
  • 原文地址:https://www.cnblogs.com/TomLily/p/5814585.html
Copyright © 2020-2023  润新知