Go to the first, previous, next, last section, table of contents.
- tk_rk.runge_kutta_4(Eq,X,Y,X0,Y0,Terminal,Step)
-
:: 4次の Runge-Kutta 法による微分方程式の数値近似解
- return
-
リスト リストの要素は以下の形式 [Xの値,Y_1の値,Y_2の値, ...].
X の値は減っていく. よってリストの先頭が Terminal 付近での Y の値.
- Eq, X, Y, Step
-
Eq は 方程式の右辺. リスト. Y[0]'=Eq[0], Y[1]'=Eq[1], ... である.
X 独立変数名.
Y リスト. 従属変数のリスト.
Step 刻み幅.
- X0, Y0, Terminal
-
X0 出発点の X の値.
Y0 出発点での Y の初期値.
Terminal X の終着点.
- taka_runge_kutta.rr を import しておく必要がある.
- この関数は連立常微分方程式 Y[0]'=Eq[0], Y[1]'=Eq[1], ... を数値的に解く.
- 例はソースコード (
OpenXM/lib/asir-contrib/src/taka_runge_kutta.rr
)の
tk_rk.test4()
を参照.
[1355] import("taka_runge_kutta.rr");
[1590] tk_rk.test4();
ここで test4() は以下のとおり. 振動の方程式, y0'=y1, y1'=-y0 (y0''+y0=0). 答は y0=cos(x)
taka_plot_auto は下方向で y が正.
def test4() {
A=runge_kutta_4([y1,-y0],x,[y0,y1],0,[1,0],3.14*2,0.1);
taka_plot_auto(A);
return(A);
}
ChangeLog
- この関数は 2000 年代の前半に最初の版が書かれた. 2010年 Pfaffian の数値解析の為に再度整備
OpenXM/src/asir-contrib/packages/src/taka_runge_kutta.rr
1.17
Go to the first, previous, next, last section, table of contents.