コンテンツにスキップ

オイラー法と数値解法入門

1ステップで生じる局所離散化誤差は滑らかな解なら O(h2)O(h^2)、区間全体に蓄積する大域誤差は O(h)O(h) で一次精度です。

hhy(1)y(1) の近似絶対誤差
0.52.25000.4683
0.252.44140.2769
0.1252.56580.1525

刻みを半分にすると漸近的には誤差もおよそ半分になりますが、丸め誤差と計算量が増えるため無条件に小さいほどよいとは限りません。

滑らかな厳密解と、格子点を直線で結ぶオイラー法の折れ線近似
オイラー法は各点の接線で刻み幅hだけ進みます。折れ線と厳密解のずれが大域誤差として蓄積します。

試験方程式 y=λyy'=\lambda y では前進オイラーの増幅率は 1+hλ1+h\lambdaλ<0\lambda<0 の減衰を再現するには 1+hλ<1|1+h\lambda|<1 が必要です。たとえば y=10y,h=0.3y'=-10y,h=0.3 では増幅率 2-2 となり、厳密解は減衰するのに近似は振動しながら増大します。

ホイン法(改良オイラー法)は予測値 y~=yn+hf(tn,yn)\tilde y=y_n+hf(t_n,y_n) を作り、 yn+1=yn+h2{f(tn,yn)+f(tn+1,y~)}y_{n+1}=y_n+\frac h2\{f(t_n,y_n)+f(t_{n+1},\tilde y)\} と2つの傾きを平均します。y=y,h=0.5y'=y,h=0.5 の1歩では前進法が1.5、ホイン法が 1+0.25(1+1.5)=1.6251+0.25(1+1.5)=1.625、厳密値 e0.51.6487e^{0.5}\approx1.6487 に近づきます。中点法や4次ルンゲ=クッタ法はさらに高精度です。硬い方程式では後退オイラー法など陰的法が有利なことがあります。

Q基本:2ステップ★☆☆
y=y,y(0)=1,h=0.2y'=-y,y(0)=1,h=0.2 を2歩進めてください。
HINTヒントを見る
yn+1=0.8yny_{n+1}=0.8y_n
ANS解答を見る
y1=0.8,y2=0.64y_1=0.8,y_2=0.64。時刻は 0.2,0.40.2,0.4
Q標準:絶対誤差★★☆
前問の t=0.4t=0.4 で厳密値と絶対誤差を求めてください。
HINTヒントを見る
e0.40.6703e^{-0.4}\approx0.6703
ANS解答を見る
絶対誤差は 0.640.67030.0303|0.64-0.6703|\approx0.0303
Q発展:安定性★★★
y=4yy'=-4y に前進オイラーを使うとき、減衰する刻み幅の範囲を求めてください。
HINTヒントを見る
14h<1|1-4h|<1
ANS解答を見る
1<14h<1-1<1-4h<1 より 0<h<120<h<\frac{1}{2}