牛頓法(Newton)的應用

1、求解方程

並不是所有的方程都有求根公式,或者求根公式很複雜,導致求解困難。利用牛頓法,可以迭代求解。原理是利用泰勒公式,在 x0x_0 處展開,且展開到一階,即:
f(x)=f(x0)+(xx0)f(x0)f(x) = f(x_0) + (x - x_0)f'(x_0)
求解方程 f(x)=0f(x) = 0,即:
f(x0)+(xx0)f(x0)=0x=f(x0)f(x0)+x0f(x_0)+ (x - x_0)f'(x_0) = 0\\ x = -\frac {f(x_0)}{f'(x_0)} + x_0
因爲這是利用泰勒公式的一階展開進行求解的,所以通過上述方程求解出的 xx 只是使 f(x)f(x) 的值比 f(x0)f(x_0) 更加接近於0,而並不是完全等於0。如下圖所示:
在這裏插入圖片描述
於是乎,迭代求解的想法就很自然了,可以進而推出:
xn+1=xnf(xn)f(xn) x_{n+1} = x_n - \frac {f(x_n)}{f'(x_n)}
通過對上式進行迭代,最終必然會在 f(x)=0f(x^*) = 0 的時候收斂,這就是用牛頓法進行方程求解的過程。

2、用於最優化問題

求解方程的問題就是求解 f(x)=0f(x) = 0,而最優化問題就是求解 f(x)f(x) 的極值,也即 f(x)=0f'(x) = 0,爲了求解 f(x)=0f'(x) = 0,我們需要把 f(x)f(x) 泰勒展開到 2 階形式:
f(x)=f(x0+Δx)=f(x0)+f(x0)(xx0)+12f(x0)(xx0)2 \begin{aligned} f(x) &= f(x_0+\Delta x)\\ &= f(x_0) + f'(x_0)(x - x_0) + \frac 12 f''(x_0)(x - x_0)^2 \end{aligned}
對上式進行兩邊求導之後可以得到:
f(x)=f(x0)+(xx0)f(x0)=0Δx=(xx0)=f(x0)f(x0) f'(x) = f'(x_0)+(x - x_0)f''(x_0) = 0\\ \Delta x = (x - x_0) = -\frac {f'(x_0)}{f''(x_0)}
從而可以得到迭代公式:
xn+1=xn+Δx=xnf(xn)f(xn),n=0,1,... x_{n+1} = x_n + \Delta x = x_n - \frac {f'(x_n)}{f''(x_n)}, \quad n = 0,1,...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章