雑感・音楽等

音楽・数学・プログラミングに関する,思い付き・雑感を記す.

常微分方程式の数値解法:ルンゲ=クッタ法,クッタ=シンプソンの方法(1/3法則)

文献が示すルンゲ=クッタの公式を整理する.
文献の"表 8.3 ルンゲ-クッタの公式"と"表 8.4 ルンゲ-クッタの公式(連立方程式)"をもとにする.

文献

藪忠司, 伊藤惇. “8.2 ルンゲ-クッタ法”. 数値計算法. コロナ社, 2002, p.100-101, (機械系教科書シリーズ, 12).

クッタ=シンプソンの方法(1/3法則)

離散化した際の最小単位時間:  h
初期値:  t,\, x,\, y,\, z
次の値:  t+h,\, x+\varDelta x,\, y+\varDelta y,\, z+\varDelta z

2変数(t, x)

 \displaystyle \frac{dx}{dt}=f(t, x)を解く.
 \displaystyle k_1=h f(t, x)
 \displaystyle k_2=h f \left( t+\frac{h}{2},\, x+\frac{k_1}{2} \right)
 \displaystyle k_3=h f \left( t+\frac{h}{2},\, x+\frac{k_2}{2} \right)
 \displaystyle k_4=h f(t+h,\, x+k_3)
 \displaystyle \varDelta x=\frac{k_1 + 2 k_2 + 2 k_3 + k_4}{6}

3変数(t, x, y)

 \displaystyle \frac{dx}{dt}=f(t,\, x,\, y),\, \frac{dy}{dt}=g(t,\, x,\, y)を解く.
 \displaystyle k_1=h f(t,\, x,\, y)
 \displaystyle k_2=h f \left( t+\frac{h}{2},\, x+\frac{k_1}{2},\, y+\frac{l_1}{2} \right)
 \displaystyle k_3=h f \left( t+\frac{h}{2},\, x+\frac{k_2}{2},\, y+\frac{l_2}{2} \right)
 \displaystyle k_4=h f(t+h,\, x+k_3,\, y+l_3)
 \displaystyle \varDelta x=\frac{k_1 + 2 k_2 + 2 k_3 + k_4}{6}

 \displaystyle l_1=h g(t,\, x,\, y)
 \displaystyle l_2=h g \left( t+\frac{h}{2},\, x+\frac{k_1}{2},\, y+\frac{l_1}{2} \right)
 \displaystyle l_3=h g \left( t+\frac{h}{2},\, x+\frac{k_2}{2},\, y+\frac{l_2}{2} \right)
 \displaystyle l_4=h g(t+h,\, x+k_3,\, y+l_3)
 \displaystyle \varDelta y=\frac{l_1 + 2 l_2 + 2 l_3 + l_4}{6}

4変数(t, x, y, z) –2変数・3変数の式から推測し,導出した.

 \displaystyle \frac{dx}{dt}=f(t,\, x,\, y,\, z),\, \frac{dy}{dt}=g(t,\, x,\, y,\, z),\, \frac{dz}{dt}=j(t,\, x,\, y,\, z)を解く.

 \displaystyle k_1=h f(t,\, x,\, y,\, z)
 \displaystyle k_2=h f \left( t+\frac{h}{2},\, x+\frac{k_1}{2},\, y+\frac{l_1}{2},\, z+\frac{m_1}{2} \right)
 \displaystyle k_3=h f \left( t+\frac{h}{2},\, x+\frac{k_2}{2},\, y+\frac{l_2}{2},\, z+\frac{m_2}{2} \right)
 \displaystyle k_4=h f(t+h,\, x+k_3,\, y+l_3,\, z+m_3)
 \displaystyle \varDelta x=\frac{k_1 + 2 k_2 + 2 k_3 + k_4}{6}

 \displaystyle l_1=h g(t,\, x,\, y,\, z)
 \displaystyle l_2=h g \left( t+\frac{h}{2},\, x+\frac{k_1}{2},\, y+\frac{l_1}{2},\, z+\frac{m_1}{2} \right)
 \displaystyle l_3=h g \left( t+\frac{h}{2},\, x+\frac{k_2}{2},\, y+\frac{l_2}{2},\, z+\frac{m_2}{2} \right)
 \displaystyle l_4=h g(t+h,\, x+k_3,\, y+l_3,\, z+m_3)
 \displaystyle \varDelta y=\frac{l_1 + 2 l_2 + 2 l_3 + l_4}{6}

 \displaystyle m_1=h j(t,\, x,\, y,\, z)
 \displaystyle m_2=h j \left( t+\frac{h}{2},\, x+\frac{k_1}{2},\, y+\frac{l_1}{2},\, z+\frac{m_1}{2} \right)
 \displaystyle m_3=h j \left( t+\frac{h}{2},\, x+\frac{k_2}{2},\, y+\frac{l_2}{2},\, z+\frac{m_2}{2} \right)
 \displaystyle m_4=h j(t+h,\, x+k_3,\, y+l_3,\, z+m_3)
 \displaystyle \varDelta z=\frac{m_1 + 2 m_2 + 2 m_3 + m_4}{6}