next up previous
: 2次の Runge-Kutta 法 : 常微分方程式の数値解法 2 : 連立常微分方程式

修正オイラー法の誤差

オイラー法の誤差は 刻み幅 $h$ に対し $O(h)$ 程度なので精度を上げようとすると計算量が非常に増える。 これに対し、修正オイラー法の誤差は $O(h^2)$ なのでずっと効率が良い。

$y(x+h)$$x$ の回りでのテイラー展開を考えると、

\begin{displaymath}
y(x+h) = y(x) + h f(x) + \frac{1}{2} h^2 y''(x) + O(h^3)
\end{displaymath} (10)

逆に $y(x)$$x+h$ の回りでのテイラー展開を考えると、
\begin{displaymath}
y(x) = y(x+h) - h f(x+h) + \frac{1}{2} h^2 y''(x+h) + O(h^3)
\end{displaymath} (11)

この2つの式から、
$\displaystyle y(x+h)$ $\textstyle =$ $\displaystyle y(x) + \frac{h}{2}[y'(x)+y'(x+h) ] + O(h^3)$  
  $\textstyle =$ $\displaystyle y(x) + \frac{h}{2}[f(x)+f(x+h) ] + O(h^3)$ (12)

なので、修正オイラー法の常微分方程式全体としての誤差は、$O(h^2)$ に押え られる。

修正オイラー法はやや複雑であるが、100 倍精度を上げるのに、10 倍の計算量 で済むので効果的である。さらにこの結果と収束加速法の組合せも考えられる。



Kiyohide Nomura 平成17年6月6日