数値解析 第8回 (2) オイラー法

オイラー法のアイデア

 最初に、精度はそれほど良く無いのですが、考え方の基本となるオイラー法を紹介します。

 刻み幅 $h$ が小さければ、区間 $[\,x_n,x_{n+1}\,]$ 内では
$x$ ≒ $x_n$, $\qquad y(x)$ ≒ $y(x_n)$ ≒ $y_n$
なので
$f(x, y(x))$ ≒ $f(x_n,y(x_n))$ ≒ $f(x_n,y_n)$
と考えます。$f(x_n,y_n)$ は 定数 ですから、
$\dps{\int_{x_n}^{x_{n+1}}f(x, y(x))dx}$ ≒ $\dps{\int_{x_n}^{x_{n+1}}f(x_n,y_n)dx} = h \times f(x_n,y_n)$
これを $(9.9)$ に入れてできる公式が

オイラー法の公式

公式 $(9.10)$  $\dps{y_{n+1}=y_n + h \times f(x_n,y_n)}$   $(\,n=0,1,\cdots\,)$
 $x=x_0$ では
$y'(x_0)=f(x_0,y(x_0))=f(x_0,y_0)$
ですから、 $x=x_0$ での $y=y(x)$ の接線の、$x=x_1$ での値が $y_1$ です。 絵を描くと最初の 1 ステップ目でいきなり相当の誤差が出ていることが見て取れます:

実行例

 教科書 p.191 図 9.2 では刻み幅を 1/1024 まで細かくしても 0.45% ほどの誤差を生じています。