差分法を用いた微分方程式の初期値問題の解法(基礎編) [数値解析]
差分法を用いた微分方程式の初期値問題の解法(基礎編)
次の2階線形微分方程式の初期値問題の差分法を用いた解法について考える。
p=dy/dxとおけば、上の微分方程式は
となり、オイラー法やルンゲ・クッタ法を用いて解くことができる。
オイラー法、ルンゲ・クッタも差分(正確にはテーラー展開)を元にして導出されるので、これらも差分法の一種と考えることができるが、ここでは異なる解法について考えることにする。
計算の起点となる点aをx₀、そして、x₋₁=a−Δx、x₁=a+Δxとし、それに対応するyの値をそれぞれy₀、y₋₁、y₁とすると、x=0における微分は中心差分を用いて、
と近似することができる。
したがって、初期条件より、
となる。
これを2回微分の式に代入すると、
となり、これを微分方程式(1)に代入すると、
となり、この式を用いて未知数であるy₁を求めることができる。
におけるyの推測値については、微分方程式(1)の差分方程式
から、
となり、この漸化式を用いて前進的に解くことができる。
新たに得た漸化式を用いて、次の初期値問題を解くことにする。
このとき、漸化式は
となる。
これならば、表計算ソフトを使って数値解を求めることができる。
Δx=0.1とし、x=3まで計算した結果は次のとおり。
この解法の局所的な打ち切り誤差はO(h³)であり、誤差の程度は修正オイラー法や2次のルンゲ・クッタ法とほぼ同程度と考えられる。
差分法を知っていれば、(修正)オイラー法や2次のルンゲ・クッタ法を知らなくても、線形の微分方程式の初期値問題も解くことができるのであった。
なお、上の初期値問題の厳密解は
である。
この計算に使用したスプレッドシートはコチラ↓
計算結果だけを知りたいヒトはWeb版のコチラ↓を
コメント 0