2017年11月26日日曜日

誤差の蓄積

誤差の蓄積


の解は
であり、Euler法は(2)式の積分を
と近似し、
を計算し、以下、逐次的に
と計算し、微分方程式(1)の近似解を求める方法である。
特に、
と、等間隔の時、オイラー法は
となる。
そして、(5)の(局所的な)打ち切り誤差程度である。コンピュータを用いる解法では、この打ち切り誤差の他に計算機特有の丸め誤差などが発生するが、丸め誤差は打ち切り誤差と似た性質を持っているので、打ち切り誤差に含めることが可能であろう。

が正確にであるとき、積分によって得られるの近似値の間には
という関係が成立する。ここで、は局所的な打ち切り誤差を表す。
さらに、が誤差を含めば、にはこの誤差伝播誤差と局所的な打ち切り誤差が入る。この2つの誤差によって生じる誤差は、計算をするたびに蓄積し、時に近似計算の結果を無意味なものにしてしまう。

微分方程式(1)、すなわち、y’=f(x,y)のオイラー法による積分(5)において、が正確であれば、
である。
ここで、
の誤差を含めば、
右辺第2項をテーラー展開し、は十分小さく高次の項を無視できるとすると、
(10)式を(9)式に代入すると、
したがって、伝播誤差は
である。
よって、では、
となり、では、
となる。
のとき、計算を進めるたびに誤差は増大してゆく。そして、hが小さければ、
であれば、誤差の影響は積分を繰り返すたびに小さくなり、やがて消失してしまう。

次の微分方程式があるとする。
この微分方程式の解は
である。
(13)式にEuler法を用いると、
となる。
誤差も(14)式に従うとすれば、
したがって、誤差因子1+λh
すなわち、
であれば、(伝播)誤差は常に一定の範囲に収まる、つまり、有界で、安定である。
λ>0のとき、(16)を満たすことはできないので、(積分の)計算を進めるたびに、伝播誤差が指数関数的に増大する。

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






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

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



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


0 件のコメント:

コメントを投稿