fchamp 2次元1階常微分方程式(ODE)のフィールド方向

## 呼び出し手順

                fchamp(f, t, xr, yr, [arfact, rect, strf])

                fchamp(f, t, xr, yr, <opt_args>)

## 引数

f

  外部ルーチン (関数または文字列) または ODE を記述するリスト.

  -

    関数名 `f` とすることができ, この際, `f`は`y=f(t,xy [p1,..pn])` という型の関数と仮定されます. `f` は大きさ 2 の列ベクトルを返し, そのベクトルは点 `xy=[x,y]`の時刻 `t` における方向フィールド`f`の値を指定します.

  -

    リスト型のオブジェクト`list(f,P1,..Pn)`とすることも可能で, この場合,`f`は`y=f(t,xy,p1,..pn)` という型の関数, `Pi` はパラメータ`pi` の値を指定します.

t

  選択された時間.

xr,yr

  大きさ`n1`および`n2`の行ベクトルで, 方向フィールドが計算されるグリッドを定義します.

<opt_args>

  一連の命令 `key1=value1,key2=value2` ... を表します. ただし, `key1`, `key2,...` は以下のどれかとします: `arfact`, `rect`, `strf` (以下参照).

arfact,rect,strf

  オプションの引数, `champ`参照.

## 説明

`fchamp` は,外部関数`f`で定義された 2次元1階常微分方程式(ODE)のフィールド方向を描画する際に使用されます.

ODEが自律的な場合, 引数 `f`は不要ですが, 指定する必要があることに注意してください.

コマンド `fchamp()` を入力するとデモを参照できます.

## 例

    deff("[xdot] = derpol(t,x)",..

            ["xd1 = x(2)";..

             "xd2 = -x(1) + (1 - x(1)**2)*x(2)";..

             "xdot = [ xd1 ; xd2 ]"])

    xf= -1:0.1:1;

    yf= -1:0.1:1;

    fchamp(derpol,0,xf,yf)

deff("[xdot] = derpol(t,x)",.. ["xd1 = x(2)";.. "xd2 = -x(1) + (1 - x(1)**2)*x(2)";.. "xdot = [ xd1 ; xd2 ]"]) xf= -1:0.1:1; yf= -1:0.1:1; fchamp(derpol,0,xf,yf)

    deff("[xdot] = derpol(t,x)",..

            ["xd1 = x(2)";..

             "xd2 = -x(1) + (1 - x(1)**2)*x(2)";..

             "xdot = [ xd1 ; xd2 ]"])

    xf= -1:0.1:1;

    yf= -1:0.1:1;

    clf()

    fchamp(derpol,0,xf,yf,1,[-2,-2,2,2],"011")

deff("[xdot] = derpol(t,x)",.. ["xd1 = x(2)";.. "xd2 = -x(1) + (1 - x(1)**2)*x(2)";.. "xdot = [ xd1 ; xd2 ]"]) xf= -1:0.1:1; yf= -1:0.1:1; clf() fchamp(derpol,0,xf,yf,1,[-2,-2,2,2],"011")

## 参照

- champ
- champ_properties
- xarrows
- Arrowed polyline