dif_equn



機能:
高階常微分方程式の解を求む(初期値問題)

書式:
dif_equn(F(x,y),[a],[t],n,x0,h,[ox],[oy],x始,x終,x増)

解説:
y^n + [a][n]y^(n-1) + ・・・ + [a][2]y^1 + [a][1]y = F(x,y)
初期条件:x=x0時、 y=[t][1]、y^1=[t][2]、...y^(n-1)=[t][n]
4次のルンゲクッタ法(進み幅h)を使い、上記のn階微分方程式を解き、指定範囲[x始,x終]と刻み値での数値解を数値組[ox],[oy]に出力します。
3階以上の常微分方程式は、この関数を使うしかないですが、3階までの常微分方程式の場合、後記の三つの関数の方が使いやすいでしょう。


     F(x,y) ・・・・・・・・・・・・・・・ 任意表現の関数式

     [a] ・・・・・・・・・・・・・・・ 微分係数の入力数値組

     [t] ・・・・・・・・・・・・・・・ 初期値の入力数値組

     n ・・・・・・・・・・・・・・・ 微分方程式の階数(正整数)

     x0 ・・・・・・・・・・・・・・・ X初期値

     h ・・・・・・・・・・・・・・・ ルンゲクッタ法の進み幅(h>0:小さいほど精度は良いが、計算時間が長くなる)

     [ox],[oy] ・・・・・・・・・・・・・・・数値解のXY座標の出力数値組

     x始,x終 ・・・・・・・・・・・・・・・数値解の出力区間

     x増 ・・・・・・・・・・・・・・・正:刻み値、負整数:均分点数


例:dif_equn(2*cos(x)-x*sin(x),[1],[2],2,0,0.01,[3],[5],0,10,0.05);


return