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

### `tk_pfn.graph`

`tk_pfn.graph(Pf,Dom,Iv,Step)`
  :: 2変数 Pfaffian 方程式を Runge-Kutta 法で解いてグラフ表示する.

return
  リスト リストの要素は以下の形式 [[xの値,yの値],Y_1の値,Y_2の値, ...]. [xの値, yの値] は [0,0],[0.2,0],[0.4,0], ... , [0,0.2],[0.2,0.2], ... のように y の値が外側ループ, x の値が内側ループの形式で増える.
Pf, Dom, Iv, Step
  Pf は Pfaffian 方程式の係数行列リスト. 独立変数は x, y で固定. Dom リスト. 解くべき領域. Iv リスト. 領域の左端での初期値. Step 刻み幅.

- tk_pf2.rr, mt_graph.rr を import しておく必要がある.
- この関数は連立Pfaffian方程式 dY/dx = Pf[0] Y, dY/dy = Pf[1] Y を数値的に解いてグラフ表示する.
- Dom は [[xmin,xmax],[ymin,ymax]] の形式.
- 例はソースコード (`OpenXM/lib/asir-contrib/tk_pfn.rr` )の `tk_pfn.testgraph1()`, `tk_pfn.testgraph2()` を参照.
- option としては fit=1 がある. Z軸を適宜調整する.
- Dom の端はグラフ表示の時に一部カットされるので注意.

    [1355] import("tk_pf2.rr"); import("mt_graph.rr"); import("tk_pfn.rr");
    [1590] tk_pfn.testgraph1();

    ここで testgraph1() は以下のとおり.
    def testgraph1() {
      /* tk_bess2.bess2pf(1/2); */
      Pf=  [[[ 0, (1)/(x), 0 ],
             [ -x, (2*x^2+1)/(x), -2*x ],
             [ -y, 0, 0 ]],
            [[ 0, 0, (1)/(y) ],
             [ -x, 0, 0 ],
             [ -x, (1/2)/(x), (-1/2)/(y) ]]];
      /* tk_bess2.bess2Iv(1/2,[0.5,1.5]); */
      Iv = [0.105994,-0.651603,-0.760628];
      Dom=[[0.5,1.5],[1.5,9]];
      Step = 0.5;
      return tk_pfn.graph(Pf,Dom,Iv,Step | fit=1);
    }

ChangeLog

- この関数は 2010-08 に最初の版が書かれた.
- `OpenXM/src/asir-contrib/packages/src/tk_pfn.rr` 1.8

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