導入の例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/10/04 08:42 UTC 版)
下記の初期値問題を考える。 y ′ = − 15 y , t ≥ 0 , y ( 0 ) = 1. {\displaystyle y'=-15y,\quad t\geq 0,\quad y(0)=1.} この問題は直接に解くことができ、厳密解 (水色の曲線) が次の公式で与えられる。 y ( t ) = e − 15 t . {\displaystyle y(t)=e^{-15t}.} 公式によって、 lim t → ∞ y ( t ) = 0 {\displaystyle \lim _{t\to \infty }y(t)=0} も明らかである。 同じ振舞いを持つ数値解を求めよう。様々な数値的方法を用いて得られる数値解は右側の画像に表示される。 刻み幅 h = 1/4 のオイラー法 に対応する解(赤色の曲線)は激しく振動し、素早くグラフの範囲を超える。 刻み幅 h = 1/8 のオイラー法 に対応する解(緑色の曲線)も振動するが、グラフの範囲にいる。 刻み幅 h = 1/8 の台形公式に対応する解(青色の曲線、凡例ではAdams-Moulton法と名付けられたが同じ方法である)は振動せず、期待通りに0に減衰していく。 よって、オイラー法は上記の硬い方程式に対し数値的不安定である。一方、台形公式は数値的安定である。 他の例として、もっとも有名な硬い方程式の一つは、Robertsonの化学反応を支配する方程式系である。 x ˙ = − 0.04 x + 10 4 y ⋅ z , {\displaystyle {\dot {x}}=-0.04x+10^{4}y\cdot z,} y ˙ = 0.04 x − 10 4 y ⋅ z − 3 ⋅ 10 7 y 2 , {\displaystyle {\dot {y}}=0.04x-10^{4}y\cdot z-3\cdot 10^{7}y^{2},} z ˙ = 3 ⋅ 10 7 y 2 . {\displaystyle {\dot {z}}=3\cdot 10^{7}y^{2}.} [0, 40] のような短い区間では、上記の方程式系を数値的に積分することに問題はない。しかし区間が極めて大きい場合(例えば 1011)、多数のコードは方程式系を正しく積分することができなくなる。
※この「導入の例」の解説は、「硬い方程式」の解説の一部です。
「導入の例」を含む「硬い方程式」の記事については、「硬い方程式」の概要を参照ください。
- 導入の例のページへのリンク