dif_equn
例:dif_equn(2*cos(x)-x*sin(x),[1],[2],2,0,0.01,[3],[5],0,10,0.05);
- 機能:
- 高階常微分方程式の解を求む(初期値問題)
- 書式:
- 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増 ・・・・・・・・・・・・・・・正:刻み値、負整数:均分点数
return |