SSブログ

オイラー法、修正オイラー法、そして、2次のルンゲ・クッタ法 [微分積分]

オイラー法、修正オイラー法、そして、2次のルンゲ・クッタ法

 

§1 オイラー法とその誤差

 

微分方程式の初期値問題

  

があり、とする。

 

オイラー法は、微分方程式を積分した

  es-001.png

の右辺の積分を

  es-002.png

と近似し、これから得られる

  

  

とし、i=0を起点として、この漸化式から得られるを微分方程式の解の近似解としたものである。

 

また、これは次のように考えることができる。

 

関数y(x)を点でテーラー展開すると

  

が得られる。

右辺の最後の項は2次なので

  

とおくと(記号Oはランダウのビッグオーと呼ばれるものだが、誤差のオーダーと考えてもよい)、

  es-004.png

となる。

 

ここで、

  

という演算規則を使っている。

O(h²)は2次だから、これをhで割れば1次減って2−1=1次なのでO(h)になると考えてよい。

これと同様に次の関係が成立する。

  

より一般に、

  

 

(4)を微分方程式(1)の右辺に代入すると、

  es-005.png

さらに、と置くと

  es-006.png

となり、

  

この式からこの近似式の誤差の程度、誤差のオーダーがであることがわかる。

なお、この計算では、ビッグオーの計算規則

  

を使っている。

 

微分方程式の初期値問題

  

を、h=0.1とし、オイラー法を用いて数値的に解いた結果は次の通り。

 

 

 

§2 修正オイラー法

 

§1で書いたように、オイラー法は、微分方程式

  

の左辺の微分を

  

で近似し、これから

  

あるいは

  

を得たもので簡単ではあるが、反面、精度が悪い。

そこで、より計算精度のよい方法について考察する。

 

微分方程式(1)の両辺を積分すると

  es-007.png

となるが、

  

を満たすαΒが存在すると仮定する。

y(x)を点で2次までテーラー展開すると

  

であるから、両辺をxで微分すると

  

これらを(7)式に代入すると、

  

(6)式の中に現れるを点でテーラー展開すると

  

これを代入すると(2)式に代入すると

  

(8)と(9)より、

  

したがって、

  

そして、これから次の漸化式を得る。

  es-013.png

 

微分方程式の初期値問題

  

を、h=0.1とし、修正オイラー法を用いて数値的に解いた結果は次の通り。

 

 

 

微分方程式の解とよく一致してーーグラフ上では厳密解と修正オイラー法による数値解の曲線が重なっているーー、計算精度が向上していることがわかる。

 

 

 

§3 まとめ、さらに、2次のルンゲ・クッタ法

 

何やら難しいことを書いたが、実は、簡単に(10)、(11)式を導くことができる。

 

y=y(x)の関数なので、xの関数である。

そこで、

  

とおくと、微分方程式(1)は次のようになる。

  

この両辺を積分すれば、

  es--15.png

 

オイラー法はこの右辺の積分を

  es-016.png

と近似したものだった。

 

これに対して、修正オイラー法は台形公式を用いて積分を近似したものだ。すなわち、

  

は未知数なので(オイラー法で)、

  es-018.png

と近似すれば、

  

になるってわけ。

 

また、積分を台形公式でなく中点公式で

  

で近似し、さらに

  

と近似すれば、

  

そして、これから、次の漸化式を得る。

  es-023.png

これを2次のルンゲ・クッタ法という。

(局所的な)誤差の程度は、修正オイラー法と同じくO(h³)である。

 

 


nice!(2)  コメント(0) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。