2017年11月27日月曜日

オイラー法の誤差の内訳

オイラー法の誤差の内訳

この記事を書いた私自身、このあたりの話はよく分かっていないのだけれど・・・。

微分方程式を
とする。
(1)式の点における近似解、厳密解をとするとき、で発生した誤差
は、オイラー法の場合、
次のステップのの近似解に伝播していく。

の場合、
だから、
である。
そして、この伝播誤差の他に、k+1段の積分計算にともなう打切誤差が加わり、
となり、k+1段に
として伝わってゆくのでしょう。

この考えに基づき、誤差の蓄積の内訳を求めてみた。
λ=1h=0.1の場合は次の通り。


オイラー法の場合、伝播誤差をまったく含まないx=0.1を除き、誤差の大部分を伝播誤差が占めており、この伝播誤差のために、計算を進めるたびに厳密解との乖離が大きくなってゆくことが分かる。

安定であるλ=−1h=0.1の場合は、次のようになる。






この場合、伝播誤差(の絶対値)はx=1.2の付近まで増加するのは、伝播誤差の減衰よりも計算のたびに加わる打切誤差の(絶対値)の増加が大きいため。
この場合も、誤差の多くを占めていることが分かる。

なお、この計算においては、打切誤差は、相対誤差と伝播誤差の差から求めてある。
ネムネコは数値計算の素人だから、こうした計算法の是非についてはわからない。そして、数値計算屋さんと伝播誤差を違う意味で捉えているのかもしれない。
だから、この方面に詳しいヒトや数値計算屋さんに、こうした計算の是非などについて教えて欲しいにゃ。

偏微分を用いない(3)式の導出
とすると、
したがって、
よって、
ここで、積分の打切誤差
であり、(4)式と(5)式、そして、k+1段で実際に生じている近似解と厳密解の(誤)差を用いて、
と推測することができる。

λ=1h=0.1のとき、こうして見積もった打切誤差の積算値を求めると、x=2のときに、およそ、−0.314。対して、厳密解とオイラー法を用いて求めた近似解との相対誤差は−0.662で2倍以上になっている。このことからも、積分計算をするたびに発生する打切誤差が増幅されて伝播していることが分かる。



0 件のコメント:

コメントを投稿