E..1 離散変数法

未知関数 $ \bm{x}=\bm{x}(t)$ についての1階正規形の常微分方程式

(13) $\displaystyle \frac{\D\bm{x}}{\D t}(t)=f(t,\bm{x}(t))$   ($ t\in(a,b)$)

について考える。これは

$\displaystyle \frac{\D\bm{x}}{\D t}=f(t,\bm{x})$   ( $ t\in(a,b)$)

と書くこともある。

正規形というのは、方程式に現れる最高階の導関数 (1階なので $ \D
\bm{x}/\D t$) について解かれている (つまり $ \frac{\D\bm{x}}{\D t}=$   何とか という形で、右辺には $ \D
\bm{x}/\D t$ は現れない) ということを意味する。

2階以上の方程式は、簡単に1階の微分方程式に変換できるので、 (17) は、応用上十分に一般的な設定であろう。

初期条件としては

(14) $\displaystyle \bm{x}(a)=\bm{x}_0$

の形のものを考える。

(15) $\displaystyle a=t_0<t_1<\cdots<t_N=b$

$\displaystyle \bm{x}_j:=\bm{x}(t_j)$   ( $ j=1,\cdots,N$)

を近似的に求めることを目標とする。

$\displaystyle h_j:=t_{j+1}-t_j
$

刻み幅とよぶ。$ h_j$ のことを $ \Delta t_j$ と書くテキストも多い。

しばしば区間 $ [a,b]$$ N$ 等分する。この場合は $ h_j$ がすべて

(16) $\displaystyle h:=\frac{b-a}{N}$

に等しい、ということであり、

(17) $\displaystyle t_j=a+j h$   ( $ j=0,1,\cdots,N$)

が成り立つ。

精度を確保するために、$ h_j$ を適当に選ぶことがある(刻み幅の自動調節)。

$ \bm{x}_j$ から $ \bm{x}_{j+1}$ を近似的に求めるために色々なやり方がある。 (注: ここから後の $ \bm{x}_j$ は、厳密には $ \bm{x}(t_j)$ と異なるので、 本当は別の記号を用いるべきかもしれない。)

(1) 前進Euler法

$\displaystyle \frac{\bm{x}_{j+1}-\bm{x}_{j}}{h_j}=f(t,\bm{x}_j)$   ( $ j=0,1,\cdots,N-1$)

(18) $\displaystyle \bm{x}_{j+1}=\bm{x}_j+h_j f(t,\bm{x}_j)$   ( $ j=0,1,\cdots,N-1$)$\displaystyle .$

(2) 後退Euler法

$\displaystyle \frac{\bm{x}_{j}-\bm{x}_{j-1}}{h_j}=f(t,\bm{x}_j)$   ( $ j=1,2,\cdots,N$)

言い換えると

$\displaystyle \frac{\bm{x}_{j+1}-\bm{x}_{j}}{h_j}=f(t,\bm{x}_{j+1})$   ( $ j=0,1,\cdots,N-1$)$\displaystyle .$

(19) $\displaystyle \bm{x}_{j+1}-h_jf(t,\bm{x}_{j+1})=\bm{x}_{j}.$

(3) (古典的, 4次の) Runge-Kutta法

(20)   $\displaystyle \bm{x}_{j+1} =\bm{x}_j+\frac{1}{6}\left(\bm{k}_1+2\bm{k}_2+2\bm{k}_3+\bm{k}_4\right)$
(21)   $\displaystyle \bm{k}_1=h_j f(t_j,\bm{x}_j),$
(22)   $\displaystyle \bm{k}_2=h_j f(t_j+h_j/2,\bm{x}_j+\bm{k}_1/2),$
(23)   $\displaystyle \bm{k}_3=h_j f(t_j+h_j/2,\bm{x}_j+\bm{k}_2/2),$
(24)   $\displaystyle \bm{k}_4=h_j f(t_j+h_j,\bm{x}_j+\bm{k}_3)$

本当は、 $ \bm{k}_1$, $ \bm{k}_2$, $ \bm{k}_3$, $ \bm{k}_4$ は、 $ j$に依存するので、 例えば $ \bm{k}_{1,j}$, $ \bm{k}_{2,j}$, $ \bm{k}_{3,j}$, $ \bm{k}_{4,j}$ のように 書くべきであろうが、多くの本でサボってある。

桂田 祐史