1 / 6 牛顿法牛顿法作为求解非线性方程的一种经典的迭代方法,它的收敛速度快,有内在函数可以直接使用。结合着matlab 可以对其进行应用,求解方程。牛顿迭代法(Newton’s method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它是牛顿在 17 世纪提出的一种在实数域和复数域上近似求解方程的方法,其基本思想是利用目标函数的二次Taylor 展开,并将其极小化。牛顿法使用函数fx 的泰勒级数的前面几项来寻找方程0fx的根。牛顿法是求方程根的重要方法之一,其最大优点是在方程0fx的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根,此时非线性收敛,但是可通过一些方法变成线性收敛。牛顿法的几何解释:方程0fx的根*x 可解释为曲线 yfx 与 x 轴的焦点的横坐标。如下图:设kx 是根*x 的某个近似值,过曲线yfx 上横坐标为kx 的点kP 引切线,并将该切线与 x 轴的交点的横坐标1kx作为*x 的新的近似值。鉴于这种几何背景,牛顿法亦称为切线法。2 牛顿迭代公式:(1)最速下降法:2 / 6 以负梯度方向作为极小化算法的下降方向,也称为梯度法。设函数 fx 在kx 附近连续可微,且0kkgfx。由泰勒展开式:Tkkkkfxfxxxfxxx (*)可知,若记为kkxxd ,则满足0Tkkd g的方向kd 是下降方向。当取定后,Tkkd g 的值越小,即Tkkd g 的值越大,函数下降的越快。由Cauchy-Schwartz不等式:Tkkkkdgdg ,故当且仅当kkdg 时,Tkkd g 最小,从而称kg 是最速下降方向。最速下降法的迭代格式为:1kkkkxxg。(2)牛顿法:设 fx 是二次可微实函数,nkxR ,Hesse矩阵2kfx正定。在kx 附近用二次 Taylor 展开近似 f ,212TTkTkkkkfxsqsfxsfxssfxsksxx ,kqs 为 fx 的二次近似。将上式右边极小化,便得:121kkkkxxfxfx,这就是牛顿法的迭代公式。在这个公式里,步长因子1k。令2,kkkkGfxgfx,则上式也可写成:11kkkkxxGg显然,牛顿法也可以看成在椭球范数kG 下的最速下降法。事实上,对于Tkkkfxsfxg s,ks 是极小化问题minnTks Rg ss的解。该极小化问题依赖于所取的范数, 当采取2l 范数时,kksg ,所得方法为最速下降法。当采用椭球范数kG 时,1kkksG g ,所得方法即为牛顿法。3 / 6 对于正定二次函数, 牛顿法一步即可达到最优解。而对于非二次函数, 牛顿法并不能保证有限次迭代求得最优解,但由于目标函数在极小点附近近似于二次函数,故当初始点靠近极小点时,牛顿法的收敛速度一般是快...