もう一度,初期条件を含めて数値計算により解くべき方程式を示す.
|  |  | 初期条件 |  |  | (6) | 
 とすると,
とすると, のまわりのテイラー展開は,
のまわりのテイラー展開は,
|  | (8) | 
オイラー法での数値計算では,計算の刻み幅 は十分に小さいとして,
は十分に小さいとして,
|  | (9) | 
オイラー法をまとめると,以下に示すように微分方程式は差分方程式に近似できる.
|  | 
|  | 
 が決まれば,
が決まれば,
 が同
じ手続きで,芋づる式に計算できるのである.この芋づる式がコンピューターの得意なところで
る.通常,初期値
 が同
じ手続きで,芋づる式に計算できるのである.この芋づる式がコンピューターの得意なところで
る.通常,初期値 は問題で与えられる.
は問題で与えられる.
実際にプログラムを行うときは,forやwhileを用いて繰り返し計算を行う(芋
づる式の部分).そして,計算結果の と
と は,配列x[i] やy[i]に格納
する.
は,配列x[i] やy[i]に格納
する.
	x[0]=a;
	y[0]=b;
	dx = きざみ幅の計算
	for(計算終了条件){
	  x[i+1]=x[i]+dx;
	  y[i+1]=y[i]+f(x[i],y[i])*dx;
	}
この方法の計算のイメージは,図4の通りである.明らかに,出発 点の導関数のみ利用しているために精度が悪い.式も対称でないため,逆から計算すると 元に戻らない.
 と記述してきたが,これからは少し式が
長くなるので,それを
と記述してきたが,これからは少し式が
長くなるので,それを と表現することにする.
と表現することにする.
2次の精度ということは,テイラー展開より
|  | (12) | 
式(13)から分かるように, の増分
の増分 を計算するためには,
1階微分と2階微分の2項を満たす式が必要である.そうすると少なくとも,2点の値が必要と
なる.2点として,計算区間の両端の導関数の値を使うことにする.この導関数は問題とし
て与えられているので,計算は簡単である.そうして,区間の増分を
を計算するためには,
1階微分と2階微分の2項を満たす式が必要である.そうすると少なくとも,2点の値が必要と
なる.2点として,計算区間の両端の導関数の値を使うことにする.この導関数は問題とし
て与えられているので,計算は簡単である.そうして,区間の増分を
 のパ
ラメーターとした和で表現する.即ち,
のパ
ラメーターとした和で表現する.即ち,
 を上手に選ぶことにより,式(
を上手に選ぶことにより,式(![[*]](crossref.png) )と同一にできる.
)と同一にできる.
この式を の周りでテイラー展開すると
の周りでテイラー展開すると
|  | (15) | 
 になるので
になるので
|  | 
 や
や のパラメーターを計算したときの
のパラメーターを計算したときの の導関数は
の導関数は
 を
使った.一方,式(17)では,
を
使った.一方,式(17)では,
 を使っている.ほんのちょっ
との違いではあるが,式(17)の精度をきちんと調べる必要がある.紙面の都
合上,精度の確認は2段階で行う.まず初めに,少なくとも2次の精度があることを確認す
る.その後,3 次の精度が無いことを示めす.
を使っている.ほんのちょっ
との違いではあるが,式(17)の精度をきちんと調べる必要がある.紙面の都
合上,精度の確認は2段階で行う.まず初めに,少なくとも2次の精度があることを確認す
る.その後,3 次の精度が無いことを示めす.
まずは,少なくとも2次の精度があることを確認である.漸化式は,
次に3次の精度がないことを示す.テイラー展開の3次の項は,係数は無視すると,
一方,ホイン法の3次の精度を表すのは,式(18)の右辺のテ イラー展開の2次の項である.これは,
明らかに,テイラー展開の3次の項である式(19)とホイ ン法の3次の項の式(20)は異なっている.したがって,ホイ ン法は3次の精度がないことが分かる.少なくとも2次の精度があって,3次の精度がない ことが示されわけで,ホイン法は2次の精度であることが証明されたことになる.
 の回りでテイラー展開すると,
の回りでテイラー展開すると,
|  | (22) | 
|  | 
 は,
は,
 異なるだけですので,計算結果は,
異なるだけですので,計算結果は,
 と誤差項を小さくすることは可能であ
るが,同じ計算量であれば4次のルンゲ・クッタの刻み幅を小さくするほうが精度が良い
と言われている.そのようなことから,私は5次以上のルンゲ・クッタの公式を見たこと
がない.
と誤差項を小さくすることは可能であ
るが,同じ計算量であれば4次のルンゲ・クッタの刻み幅を小さくするほうが精度が良い
と言われている.そのようなことから,私は5次以上のルンゲ・クッタの公式を見たこと
がない.
ということで,皆さんが常微分方程式を計算する必要が生じたときは,何はともあれ4次
のルンゲ・クッタで計算すべきである.「この問題を解く場合,4次のルンゲクッタだな」
と一言いってプログラムを書き始めると,おぬしできるな--と思われること間違いなし
である.間違っても「2次のルンゲ・クッタ 」と言ってはならない.「4次の方
が
」と言ってはならない.「4次の方
が 」と言う輩が必ずでてくる.普通の科学に携わる者にとって,4次のルンゲ・
クッタは常微分方程式の最初で最後の解法である.
」と言う輩が必ずでてくる.普通の科学に携わる者にとって,4次のルンゲ・
クッタは常微分方程式の最初で最後の解法である.
ただし,4次のルンゲ・クッタ法よりも精度の良い方法があることも知っておく必要があ る.より高精度な方法として,Bulirsch-Store法や予測子・修正法などがある.進んだ勉強を したいときに,学習するのがよいだろう.例えば文献 [1]等に詳しくかかれてい る.
4次のルンゲ・クッタの公式は,式(27)に示す通りである.そして,これ のイメージは図7のように表すことができる.
2次の場合と同じ手順で,公式を導き,そして4次の精度であることが証明できるであろう. しかし,計算は明らかに大変なので,腕力のある人はトライせよ.