next up previous
Next: B. 参考: Euler 法のプログラム Up: A. 公式メモ Previous: A..3 古典的 Runge-Kutta 法

A..4 RKF45 (Runge-Kutta-Fehlberg 公式)

(この公式については、次回の黒板前講義で説明するが、 余裕があればチャレンジしてみるとよい。)

$ 5$ 次精度の $ x_{j+1}$, $ 4$ 次精度の $ x_j^*$

  $\displaystyle x_{j+1}$ $\displaystyle =$ $\displaystyle x_j
+ h_j\left(
\frac{16}{135}k_1
+\frac{6656}{12825}k_3
+\frac{28561}{56430}k_4
-\frac{9}{50}k_5
+\frac{2}{55}k_6
\right),$
  $\displaystyle x_{j+1}^\ast$ $\displaystyle =$ $\displaystyle x_j+h_j
\left(
\frac{25}{216}k_1+\frac{1408}{2565}k_3+\frac{2197}{4104}k_4-\frac15k_5
\right),\quad
\quad h_j=t_{j+1}-t_j,$


  $\displaystyle k_1$ $\displaystyle =$ $\displaystyle f(t_j,x_j),$
  $\displaystyle k_2$ $\displaystyle =$ $\displaystyle f\left(t_j+\frac14 h, x_j+\frac14 h k_1\right),$
  $\displaystyle k_3$ $\displaystyle =$ $\displaystyle f\left(t_j+\frac38 h, x_j+\frac1{32}h(3 k_1+9k_2)\right),$
  $\displaystyle k_4$ $\displaystyle =$ $\displaystyle f\left(t_j+\frac{12}{13}h,
x_j+\frac1{2197}h(1932k_1-7200k_2+7296k_3)\right),$
  $\displaystyle k_5$ $\displaystyle =$ $\displaystyle f\left(t_j+h, x_j+h
\left(\frac{439}{216}k_1-8k_2+\frac{3680}{513}k_3
-\frac{845}{4104}k_4
\right)\right),$
  $\displaystyle k_6$ $\displaystyle =$ $\displaystyle f\left(t_j+\frac12 h, x_j+h
\left(-\frac8{27}k_1+2k_2-\frac{3544}{2565}k_3
+\frac{1859}{4104}k_4-\frac{11}{40}k_5
\right)
\right).$


next up previous
Next: B. 参考: Euler 法のプログラム Up: A. 公式メモ Previous: A..3 古典的 Runge-Kutta 法
Masashi Katsurada
平成18年5月3日