SSブログ

誤差の蓄積 [ネコ騙し数学]

誤差の蓄積

 

  

の解は

  gosa-001.png

であり、Euler法は(2)式の積分を

  gosa-002.png

と近似し、

  

を計算し、以下、逐次的に

  

と計算し、微分方程式(1)の近似解を求める方法である。

特に、

  

と、等間隔の時、オイラー法は

  

となる。

そして、(5)の(局所的な)打ち切り誤差程度である。コンピュータを用いる解法では、この打ち切り誤差の他に計算機特有の丸め誤差などが発生するが、丸め誤差は打ち切り誤差と似た性質を持っているので、打ち切り誤差に含めることが可能であろう。

 

が正確にであるとき、積分によって得られるの近似値の間には

  

という関係が成立する。ここで、は局所的な打ち切り誤差を表す。

さらに、が誤差を含めば、にはこの誤差伝播誤差と局所的な打ち切り誤差が入る。この2つの誤差によって生じる誤差は、計算をするたびに蓄積し、時に近似計算の結果を無意味なものにしてしまう。

 

微分方程式(1)、すなわち、y’=f(x,y)のオイラー法による積分(5)において、が正確であれば、

  

である。

ここで、

  

の誤差を含めば、

  

右辺第2項をテーラー展開し、は十分小さく高次の項を無視できるとすると、

  

(10)式を(9)式に代入すると、

  

したがって、伝播誤差は

  

である。

よって、では、

  gosa-004.png

となり、では、

  

となる。

のとき、計算を進めるたびに誤差は増大してゆく。そして、hが小さければ、

  

であれば、誤差の影響は積分を繰り返すたびに小さくなり、やがて消失してしまう。

 

次の微分方程式があるとする。

  

この微分方程式の解は

  

である。

(13)式にEuler法を用いると、

   

となる。

誤差も(14)式に従うとすれば、

  

したがって、誤差因子1+λh

  

すなわち、

  

であれば、(伝播)誤差は常に一定の範囲に収まる、つまり、有界で、安定である。

λ>0のとき、(16)を満たすことはできないので、(積分の)計算を進めるたびに、伝播誤差が指数関数的に増大する。

 

参考までに、λ=±1h=0.1としたときの結果をグラフに示す。

λ=1のとき、誤差が指数関数的に増加していることが分かる。

 

Euler-gosa-001.png

 

対して、λ=−1のとき、誤差は0≦x≦1では増加するが、さらに計算が進むに従い、誤差が減少してゆくことが分かる。

 

Euler-gosa-002.png

 

また、λh=−2となるように、λ=−2h=1とすると、次のような振動解が得られる。

 

Euler-gosa-003.png

 

そして、λ=−3、h=1とすると、この計算はやがて発散してしまう。

Euler-gosa-004.png


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

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