Go to the first, previous, next, last section, table of contents.

### `tk_rk.runge_kutta_4`

`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.