怎麼用牛頓法解平方根?
阿新 • • 發佈:2018-12-16
牛頓法求平方根的本質就是在拋物線上任取一點做切線,再把該切線與x軸的交點代入該拋物線方程又得到一根更逼近根的切線,如此迭代最終獲得結果。但是牛頓法求函式根,需要該函式有二階導數,否則牛頓法會在根附近抖動甚至越來越遠。好在拋物線函式符合這個條件,所以可以安全使用牛頓迭代法。
以下是我找到的兩篇講解牛頓法的文章,第一篇通俗講解了牛頓法的思想,第二篇推導了牛頓法求平方根的公式。都是很好的文章,但是都不完美,第一篇沒講怎麼應用在求平方根上,第二篇排版混亂。下文對這兩篇文章做了整理。
https://www.zhihu.com/question/20690553
http://www.voidcn.com/article/p-btcbtpcx-gk.html
(一)形象解釋牛頓迭代法
請參考https://www.zhihu.com/question/20690553,標題為“如何通俗易懂地講解牛頓迭代法求開方?”。此處截圖的目的是留檔,避免連結丟失。
(二)計算機實現牛頓迭代法
1.設函式的根為,我們任意選取作為的初值。
2.過點做曲線的切線,則的方程為:
與軸的交點的座標為:
3.計算 的差值,若差值小於一定值,則可認為已經求得解,停止演算法;否則以 為新的點重複第2步
計算過程中,稱為的 次近似值,而 即稱為牛頓迭代公式。
(三)平方根函式
求數
又,代入牛頓迭代公式得到:
轉換後得到
以此替代上文牛頓迭代法第2步中的公式,迭代計算就得到了平方根。