在這張圖中理解牛頓法
牛頓法反覆執行一個步驟,逼近f的根,也就是滿足的數r。在目前的猜測值處,取曲線上這一點的切線,其方程式為。在附近,切線貼近曲線,因此切線與x軸的交點,是曲線交點的更好猜測。解就得到下一個猜測值。圖上的每一步先沿淡虛線,從走到曲線,再沿切線走向軸。
將誤差寫成。若r是單根(),而且f有連續的二階導函數,對步驟做泰勒展開可知,當接近r時有。誤差平方大致會讓正確位數加倍。對x² − 2,從x₀ = 1開始,誤差為0.086、0.0025、2.1 × 10⁻⁶和1.6 × 10⁻¹²;讀數顯示逐漸接近。遠離根時就沒有這項保證。若,平方項消失,收斂更快:對arctan x,下一個誤差約為,每一步變成立方。
這個步驟需要。水平切線不與軸相交,幾乎水平的切線則在遠處相交:x² − 2從0.1出發,第一步落在10.05。方法也可能不往遠處逃,卻仍然失敗。對x³ − 2x + 2,0處的切線落在1,1處的切線又落回0,附近的起點也被拉進此循環:數列有界,卻沒有極限。對arctan x,有一道界線α ≈ 1.3917,它滿足。|x₀| < α的起點收斂,超過界線的則每次落到另一側更遠處。「所有起點」依各起點的去向為x軸上色。對x³ − 2x + 2,[−3, 3]約五分之一落入循環,包括聚集在切線水平點附近的細帶。起點改用複數時,這些帶就形成牛頓分形。
重根處也有,誤差平方的效果便消失了。對,步驟恰好是,所以誤差每一步減半。這是一次收斂,每多一位正確小數約需3.3步。接近m重根時,比值趨近。
值得留意
- 牛頓在1669年討論過。從2出發,今天使用的方法依次給出2.1、2.0945681和2.0945514817,三步後已準確到小數點後九位。
- 對,步驟是:這就是古老的平方根算法,將猜測值與a除以該猜測值的結果取平均。
操作
- 沿x軸拖曳藍點x₀,或按在軸上把它放到該處。它會吸附在0.5的倍數上。
- 設定n來顯示相應步數,或按n → ∞逐步走到n = 10。記錄保留各個xₙ及其誤差;到根、碰到水平切線,或超過10⁶時會提前停止。
- 開啟「所有起點」,依各起點的去向為x軸上色。
相關概念
延伸閱讀: 維基百科: Newton's method (英文); OpenStax, Calculus Volume 1, 4.9 Newton’s Method (英文).