数値計算@常微分方程式@その6@n階常微分方程式

参考文献及びWEB

参考文献

(1)「電気・電子工学のための数値計算法入門」橋本修著 総合電子出版社
(2)「ディジタル信号処理技術」玉井徳みち、長島厚、藤田泰弘、若井修造著 日経BP社
(3)「よくわかる有限要素法」福森栄次著 Ohmsha

参考WEB

http://szksrv.isc.chubu.ac.jp/java/physics/rlc/rlc0.html

http://www.asahi-net.or.jp/~jk2m-mrt/kiso_RLC.htm

http://ja.wikipedia.org/wiki/%E4%B8%89%E8%A7%92%E9%96%A2%E6%95%B0

http://www.cmplx.cse.nagoya-u.ac.jp/~furuhashi/education/CircuitMaker/chap1.pdf

http://www.akita-nct.ac.jp/~yamamoto/lecture/2003/5E/lecture_5E/diff_eq/node2.html

http://chemeng.on.coocan.jp/cemath/cemath08.html

http://homepage3.nifty.com/skomo/f6/hp6_3.htm

http://homepage1.nifty.com/gfk/rungekutta.htm

あわせて読む

(a) 微分の説明

微分方程式の解を求める

(b) 微分方程式の解を数値計算で求める

(c) 積分の説明

(d) 関数が微分の形 f'(x) の形で表されているときの積分値を求める

(一般的に数値積分をする意味は、関数自体が変化の式(例えば速度の関数)などで表されているとき
ある時刻から時刻までの距離を求めたいときなどで使用される。

もちろんその変化の式が、手計算によって計算可能ならば積分によって時間と距離の関係を導出し
その時間を入れることで直接距離を導いたほうが早い。

しかし、一般的に時間と距離の関係のような式自体が導出することが不可能な場合が世の中には多く
時間と速度の関係のような変化の式を見つけ出すことの方が容易なのだが、これを手計算で積分すること
は非常に難しいため数値積分が提案された)

n階常微分方程式を求める

(注目!) n階の常微分方程式とn連立常微分方程式を解く方法は同じである。

4次のルンゲクッタ法の復習


 k_{1}(n)=f(x_n , y_n )(1-1)
 k_{2}(n)=f(x_n+\frac{h}{2},y_n+\frac{h}{2}*k_{1}(n)) (1-2)
 k_{3}(n)=f(x_n+\frac{h}{2},y_n+\frac{h}{2}*k_{2}(n)) (1-3)
 k_{4}(n)=f(x_n+h,y_n + k_{3}(n)*h) (1-4)

 y_{n+1} = y_n + \frac{1}{6}( k_{1}(n) + 2k_{2}(n) + 2k_{3}(n) + k_{4}(n) )*h (1-5)


ここで、hを外に出すと

 k_{1}(n)=h*f(x_n , y_n )(1-1)
 k_{2}(n)=h*f(x_n+\frac{h}{2},y_n+\frac{1}{2}*k_{1}(n)) (1-2)
 k_{3}(n)=h*f(x_n+\frac{h}{2},y_n+\frac{1}{2}*k_{2}(n)) (1-3)
 k_{4}(n)=h*f(x_n+h,y_n + k_{3}(n)) (1-4)

 y_{n+1} = y_n + \frac{1}{6}( k_{1}(n) + 2k_{2}(n) + 2k_{3}(n) + k_{4}(n) ) (1-5)


2階常微分方程式を考える

 \LARGE \frac{d^2 y}{dx^2} = \frac{dz}{dx} = f(x,y,z) (2-1)
のような2階常微分方程式を考える。

これは、次のように分解して考えることができる。

 \frac{dy}{dx} = f_{1}(x,y,z)
 \frac{dz}{dx} = f_{2}(x,y,z) (2-2)

すると2元の連立方程式と同じ形になる。
そこで、ルンゲクッタの公式(1-5)を適用すると、

 \LARGE y_{n+1} = y_n + \frac{1}{6}( k_{11}(n) + 2k_{12}(n) + 2k_{13}(n) + k_{14}(n) )(2-3)

 k_{11}(n)=h*f_{1}(x_{n} , y_{n} ,z_{n})(2-3a)
 k_{12}(n)=h*f_{1}(x_n+\frac{h}{2}, y_n+\frac{1}{2}*k_{11}(n) , z_n+\frac{1}{2}*k_{21}(n)  ) (2-3b)
 k_{13}(n)=h*f_{1}(x_n+\frac{h}{2}, y_n+\frac{1}{2}*k_{12}(n) , z_n+\frac{1}{2}*k_{22}(n)) (2-3c)
 k_{14}(n)=h*f_{1}(x_n+h, y_n + k_{13}(n) ,  z_n + k_{23}(n) ) (2-3d)


 \LARGE z_{n+1} = z_n + \frac{1}{6}( k_{21}(n) + 2k_{22}(n) + 2k_{23}(n) + k_{24}(n) )(2-4)

 k_{21}(n)=h*f_{2}(x_{n} , y_{n} ,z_{n})(2-4a)
 k_{22}(n)=h*f_{2}(x_n+\frac{h}{2}, y_n+\frac{1}{2}*k_{11}(n) , z_n+\frac{1}{2}*k_{21}(n)  ) (2-4b)
 k_{23}(n)=h*f_{2}(x_n+\frac{h}{2}, y_n+\frac{1}{2}*k_{12}(n) , z_n+\frac{1}{2}*k_{22}(n)) (2-4c)
 k_{24}(n)=h*f_{2}(x_n+h, y_n + k_{13}(n) ,  z_n + k_{23}(n) ) (2-4d)