- 締切済み
ルンゲクッタ法の解き方(初期条件)
二階の常微分方程式をプログラムをつかって数値的に解きたいのですが 初期条件をいれるとk1の分母が0になってしまうばあい,どのように計算すれば良いかわかりません.どのように通常解くのかおしえていただけませんか? 具体例として y''=((y')^2+1)/sin(arctan(y')) 初期条件 y(0)=C1(定数) y'(0)=0 k1=0.5*h*f(xn,yn,yn') k2=0.5*h*f(xn+0.5h,yn+K,yn'+k1) (ここでK=0.5h(yn'+0.5k1)) k3=0.5*h*f(xn+0.5h,yn+K,yn'+k2) k4=0.5*h*f(xn+h,yn+L,yn'+2k3) (ここでL=h(yn'+k3) k1の値を計算すると分母が0になるので計算できません. どうぞ宜しくお願いします. ちなみにy'(0)=0.001など小さい値をいれてみても途中の計算で発散してしまいます.
- みんなの回答 (1)
- 専門家の回答
みんなの回答
noname#108554
回答No.1
この問題では、y’=zとして、zの解析解を求めることができます。 zの解析解はx=1で発散しますので、 >ちなみにy'(0)=0.001など小さい値をいれてみても途中の計算で発散してしまいます. これは当然ではないかと。なお、 >初期条件をいれるとk1の分母が0になってしまうばあい, http://sci.tea-nifty.com/blog/2008/08/excel_f62a.html のように、原点付近でなんとかしてベキ展開して 計算をスタートさせるのがいい方法だと思います。