4.7 Newton’s Method

18 阅读1分钟

这一节简单介绍了一种数值求根的方式,称为牛顿法。因为本节知识点较为孤立,不做深入学习。

假设有函数f(x),取一点xnx_n作过这一点的切线,可以得到一个线性方程:

y=f(xn)+f(xn)(xxn)y = f(x_n) + f'(x_n)(x - x_n)

求出此线性方程和x轴的交汇点xn+1x_{n + 1},则令y=0y = 0

0=f(xn)+f(xn)(xxn)f(xn)f(xn)=xxnx=xnf(xn)f(xn) 即xn+1=xnf(xn)f(xn)0 = f(x_n) + f'(x_n)(x - x_n) \\ -\frac{f(x_n)}{f'(x_n)} = x - x_n \\ x = x_n - \frac{f(x_n)}{f'(x_n)} \ \text{即} \\ x_{n + 1} = x_n - \frac{f(x_n)}{f'(x_n)}

然后重复以上过程,即求出过xn+1x_{n + 1}切线的线形方程,和它与x轴的交点xn+2x_{n + 2},线形方程与x轴的交点就会趋近于f(x)的根。

示意图如下:

4.7-1.png

应用牛顿法时,xnx_n趋近于根的行为称为收敛(convergence),通常牛顿法都能很快收敛,但是也是有不收敛的情况出现。而如何评估是否收敛,书上给出了一个公式,但并没有解释,这里也先略过。
另一种情况是,当存在多个根的时候,牛顿法不能保证求出所有的根,这取决于初始值的选择。牛顿法能求根的近似解,但是无法求出存在多少个根。

不收敛的例子:

4.7-2.png

跳过其它的根的例子:

4.7-3.png

实际的情况要更复杂,书本上引入一个Fractal Basins的概率,中文翻译成分形吸引域?它涉及到混沌系统和分形的知识,这里就略过了。