SkyWalking 分散式追蹤系統
阿新 • • 發佈:2021-10-27
牛頓迭代法;思路;問題
\[f(x) \approx f(x_0)+f'(x_0)(x-x_0)
\]
什麼是牛頓迭代法
牛頓-拉弗森方法 Newton-Raphson method 用來近似求解多項式的根
公式
顧名思義,該方法採用迭代的思想,已知曲線方程\(f(x)\), 在\(x_n\)點做切線,求\(x_{n+1}\)
在\(x_n\)點的切線方程為
那麼\(x_{n+1}\)即為
\[f(x_n)+f'(x_n)(x_{n+1}-x_n)=0\\ x_{n+1}=x_n-\frac {f(x_n)} {f'(x_n)} \]從泰勒展開的角度理解
\[f(x)=f(x_0)+f'(x_0)(x-x_0)+\frac {f"(\xi)(x-x_0)^2} {2!} \]忽略二次項
從這個式子也可以看出,在使用牛頓迭代法時,需要選取一個較為解接近真實解的\(x_0\)作為迭代基數,\(x_0\)要在\(x\)附近
牛頓迭代法的問題
牛頓迭代法不是總能收斂的,所以在某些情況下找不到足夠近似的根
駐點
越來越遠離
此處根點很顯然是0點,而\(f'(0)\)不存在
迴圈震盪
這種情況\(x_{n+1}=-x_n\)
不能完整求出所有的根
這種有多個根的函式,因為選擇的起始點,只能求到附近的根
總結
函式在整個定義域內最好是二階可導的
起始點對求根計算影響重大,可以增加一些別的判斷手段進行試錯
求平方根用牛頓-拉弗森方法是安全的