起源
牛顿法最初由艾萨克·牛顿在《流数法》(Method of Fluxions,1671年完成,在牛顿去世后的1736年公开发表)中提出。约瑟夫·鲍易也曾于1690年在Analysis Aequationum中提出此方法。原理
把非线性函式
在处展开成泰勒级数取其线性部分,作为非线性方程的近似方程,则有
设
,则其解为因为这是利用泰勒公式的一阶展开,
处并不是完全相等,而是近似相等,这里求得的 并不能让 ,只能说 的值比 更接近 ,于是乎,叠代求解的想法就很自然了,再把f(x)在x1 处展开为泰勒级数,取其线性部分为
的近似方程,若 ,则得 如此继续下去,得到牛顿法的叠代公式: ,通过叠代,这个式子必然在 的时候收敛。整个过程如右图:例1 用牛顿法求方程 在 内一个实根,取初始近似值=1.5。 解 所以叠代公式为:列表计算如下:
0 | 1.5 |
1 | 1.7371 |
2 | 1.6987 |
3 | 1.6975 |
... | ... |
切线法
方程f(x)=0的根就是曲线y=f(x)与x轴交点的横坐标x*,当初始近似值x0选取后,过( x0,f(x0))作切线,其切线方程为:y- f(x0)=f′(x0)(x-x0)
一般地,设Xn是x*的第n次近似值,过( x,f(x))作y=f(x)的切线,其切线与x轴交点的横坐标为: 即用切线与x轴交点的横坐标近似代表曲线与x轴交点的横坐标。
牛顿法正因为有此明显的几何意义,所以也叫切线法。
定理
设f(x)在[a,b]满足
(1) f(a)·f(b)<0
(2) f(x)∈[a,b],f′(x),f″(x)均存在,且f′(x)与f″( x)的符号均保持不变。
(3) f(x)·f″(x)>0, x∈[a,b] 则方程f(x)=0在[a,b]上有且只有一个实根,由牛顿法叠代公式计算得到的近似解序列收敛于方程 f(x)=0 的根 x*。
由方程f(x)=0得到的牛顿叠代形式:
由于f(x*)=0,所以当f′(x*)≠0时, (x* )= 0,牛顿法至少是二阶收敛的,即牛顿法在单根附近至少是二阶收敛的,在重根附近是线性收敛的。
牛顿法收敛很快,而且可求复根,缺点是对重根收敛较慢,要求函式的一阶导数存在。
其它例子
第一个例子
求方程
的根。令,两边求导,得。由于,则,即,可知方程的根位于0和1之间。我们从开始。第二个例子
牛顿法亦可发挥与泰勒展开式,对于函式展开的功能。
求a的m次方根。
设
而a的m次方根,亦是x的解,
以牛顿法来叠代:
(或
)套用
求解最值问题
牛顿法也被用于求函式的最值。由于函式取最值的点处的导数值为零,故可用牛顿法求导函式的零点,其叠代式为
















