数値解法の精度比較
解析解が分かっている常微分方程式を オイラー法と RK4(4次ルンゲ=クッタ法)で解き、刻み幅 h を変えて 1 次と 4 次の誤差の違いを体感します。
0.50
-1.00
10
厳密解 y = eat
オイラー法(1次)
RK4(4次)
刻み幅 h
—
ステップ数 N
—
最終誤差 オイラー
—
最終誤差 RK4
—
解の軌跡(y vs t と各ステップの点)
誤差の蓄積 |数値解 − 厳密解|(t ごと)
多くの微分方程式は手で解けないので、コンピュータは小さな刻み幅
ここでは厳密解が
オイラー法の 1 ステップの誤差は
h ごとに少しずつ前へ進めて近似します。ここでは厳密解が
y = e^{at} と分かっている dy/dt = a·y(初期値 y(0)=1)を題材に、最も単純なオイラー法と高精度なRK4を比べます。オイラー法の 1 ステップの誤差は
h² 程度、RK4 は h⁵ 程度。全体ではオイラー法 ∝ h(1次)、RK4 ∝ h⁴(4次)です。h を半分にすると誤差はオイラーで約 1/2、RK4 で約 1/16 になります。スライダーで h を動かして確かめましょう。
いま何が起きている?
ここがポイント
- オイラー法は 1 次精度 ── 全体誤差 ∝ h。h を半分にすると誤差もおよそ半分。
- RK4 は 4 次精度 ── 全体誤差 ∝ h⁴。h を半分にすると誤差は約 1/16 に激減する。
- 同じ刻み幅でも RK4 は 1 ステップで傾きを 4 回評価するため、はるかに厳密解に近い。
- 誤差は 1 ステップごとに蓄積する。一般に h が大きいほど終端でのズレは広がる(解が増大する系では区間 T が長いほど誤差も増えるが、減衰する系では真解も 0 へ向かうため終端誤差はむしろ縮む)。