FE EXAM

ニュートン法(接線で解に近づく)

接線を使って方程式の解を反復的に近似する数値計算法

INTERACTIVE VISUALIZATION
関数 f(x)
接線
現在の xₙ
2
f(xₙ)
2
次の xₙ₊₁
1.5
真の解との誤差
5.9e-1
関数を選ぶ
初期値 x₀2.0
反復ステップn = 0
STEP 1/5 — 反復 n = 0x0=2 の点で接線を引き、x軸との交点を次の近似値にする
x1 = 2 − (2) / (4) = 1.5
xx0x1真の解
反復の収束
nxₙf(xₙ)誤差
0225.86e-1
11.50.258.58e-2
21.4166670.0069442.45e-3
31.4142160.0000062.12e-6
41.41421401.59e-12
解説

🎯
ニュートン法とは

xₙxₙ₊₁

ニュートン法(ニュートン・ラフソン法)とは、方程式 f(x) = 0 の解(=グラフが x 軸と交わる点)を、接線を使って少しずつ近づけて求める数値計算法です。手では解けない複雑な方程式を、コンピュータで近似的に解くときに使います。

身近な例で言うと、暗い部屋で壁を手探りで探すのに似ています。今いる場所(近似値)から「壁はこっちの方向だ」という手がかり(接線の傾き)をたよりに一歩進み、また手がかりを得て進む…を繰り返すと、だんだん壁(解)に近づきます。たとえば「√2 はいくつか」という問題は、x² − 2 = 0 の解を求めることに置き換えられます。

上のツールで関数を選び、初期値 x₀ をスライダーで決めて、▶ ボタンや「次へ」を押すと、接線が引かれて交点(次の近似値)が求まる様子が反復ごとに見えます。右の表で誤差が一気に小さくなっていくことに注目してください。

📏
接線を使う仕組み

(xₙ, f(xₙ))接線とx軸の交点 = xₙ₊₁

ニュートン法のアイデアは、「曲線のままだと解きにくいので、その点での接線(まっすぐな線)で代用する」というものです。今いる点 (xₙ, f(xₙ)) で曲線に接する直線(接線)を引き、その接線が x 軸と交わる点を、次のより良い近似値 xₙ₊₁ とします。

接線の傾きは f'(x)(=微分。その点での傾き)で表されます。接線と x 軸の交点を計算すると、次の式が得られます。

xₙ₊₁ = xₙ − f(xₙ) / f'(xₙ)

計算例: √2 を求める(f(x) = x² − 2、f'(x) = 2x、x₀ = 2)

x₁ = 2 − (4−2)/(2×2) = 2 − 0.5 = 1.5
x₂ = 1.5 − (0.25)/(3) ≈ 1.41667
x₃ ≈ 1.41422(√2 = 1.41421…)
わずか3〜4回で小数6桁まで一致

このように、ニュートン法は収束が非常に速い(2 次収束=正しい桁数が毎回およそ倍になる)のが大きな特徴です。

⚠️
収束しない場合

f'(x)=0 → 接線が水平x軸と交わらず次の値が定まらない

ニュートン法はとても強力ですが、いつでも解にたどり着くとは限りません。初期値の選び方や関数の形によっては、うまく収束しないことがあります。

収束しない・失敗する代表的なケース:
傾きが 0 になる(f'(x) = 0):接線が水平になり x 軸と交わらないため、0 で割る計算になり次の値が求まらない
初期値が解から遠すぎる:とんでもない方向へ飛んでいき、解から離れてしまう
振動する:2 点を行ったり来たりして、いつまでも収束しない
別の解に収束する:解が複数ある関数では、意図しない解に近づくことがある

身近な例で言うと、平らな床の上では「壁はどっち?」という手がかりが得られないのと同じで、傾きがないと進む方向が決まりません。そのため実際のプログラムでは、反復回数の上限を決めたり、収束しなければ別の初期値で試すといった工夫をします。

ニュートン法の要点は「接線を使う」「xₙ₊₁ = xₙ − f(xₙ)/f'(xₙ)」「収束が速い」「f'(x)=0 で破綻する」の4つです。同じ数値計算でも、区間を狭めていく 二分法は遅いが確実、ニュートン法は速いが初期値しだい、という対比も押さえておくとよいでしょう。

関連コンテンツ