• ベストアンサー

R.K.G法による数値シミュレーションをMatlabで行いたい.

タイトルの通りです. ルンゲクッタギル法を用いた数値シミュレーションをMatlabで行いたいと思っています. 4次のルンゲクッタ法は検索すればコードがたくさん落ちてますし,読んで理解することもできます. しかしルンゲクッタギル法はMatlabのコードが見つからず,Cなどで書かれたプログラムを見ても理解することができません. どなたかルンゲクッタギル法をMatlabで行う際の手順を教えていただけないでしょうか?

みんなが選んだベストアンサー

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8469/18131)
回答No.1

これがルンゲクッタ法 k1=f(t[n], y[n]) k2=f(t[n]+h/2,y[n]+(h/2)k1) k3=f(t[n]+h/2,y[n]+(h/2)k2) k4=f(t[n]+h ,y[n]+(h) k2) y[n+1]=y[n]+(h/6)(k1+2k2+2k3+k4) だとすれば,ルンゲクッタギル法は k1=f(t[n], y[n]) k2=f(t[n]+h/2,y[n]+(h/2) k1) k3=f(t[n]+h/2,y[n]+(h/2)(-1+√2)k1+(h/2)(2-√2)k2) k4=f(t[n]+h ,y[n]+(h/2)( -√2)k2+(h/2)(2+√2)k3) y[n+1]=y[n]+(h/6)(k1+(2-√2)k2+(2+√2)k3+k4) これです。ちょっと変えるだけでしょ。