# syslin

線形システムを定義する

## 呼び出し手順

    [sl]=syslin(dom,A,B,C [,D [,x0] ])
                [sl]=syslin(dom,N,D)
                [sl]=syslin(dom,H)

## パラメータ

dom

  文字列 (`'c'`, `'d'`), または `[]` または スカラー.

A,B,C,D

  状態空間表現の行列 (`D` はオプションで,デフォルトでは ゼロ行列となります). プロパーでないシステムでは,`D` は多項式行列となります.

x0

  ベクトル (初期状態量; デフォルト値は `0`)

N, D

  多項式行列

H

  有理関数または線形状態空間表現

sl

  tlist ("`syslin`" リスト) は 線形システムを表します

## 説明

`syslin` はリストとして線形システムを定義し, データの整合性を確認します.

`dom` はシステムの時間領域を指定するもので, 以下の値を指定することができます:

連続時間システムの場合`dom='c'`, 離散時間システムの場合 `dom='d'` , サンプル時間 `n` (単位:秒)のサンプル値システム の場合 `n`.

時間領域が未定義の場合 `dom=[]`

状態空間表現:

    sl=syslin(dom,A,B,C [,D [,x0] ])

は次のシステムを定義します :

`syslin` の出力は以下の形式のリストとなります: `sl=tlist(['lss','A','B','C','D','X0','dt'],A,B,C,D,x0,dom)` `D` は多項式行列(プロパーでないシステム)とすることが できることに注意してください.

伝達行列表現:

    sl=syslin(dom,N,D)
    sl=syslin(dom,H)

`syslin` の出力は以下の形式のリストとなります : `sl=rlist(N,D,dom)` または `sl=rlist(H(2),H(3),dom)`.

`syslin` で定義された線形システムは 状態空間または伝達関数表現のどちらでも 通常の行列と同様に操作(結合, 展開, 転置, 乗算,など)することができます.

状態空間制御関数の多くは, 4つの行列でシステムを定義する代わりに `syslin`リストを入力とします.

## 例

    A=[0,1;0,0];B=[1;1];C=[1,1];
    S1=syslin('c',A,B,C)   //線形システムを定義
    S1("A")    //A行列を表示
    S1("X0"), S1("dt") // X0と時間領域を表示
    s=poly(0,'s');
    D=s;
    S2=syslin('c',A,B,C,D)
    H1=(1+2*s)/s^2, S1bis=syslin('c',H1)
    H2=(1+2*s+s^3)/s^2, S2bis=syslin('c',H2)
    S1+S2
    [S1,S2]
    ss2tf(S1)-S1bis
    S1bis+S2bis
    S1*S2bis
    size(S1)

## 参考

- tlist
- lsslist
- rlist
- ssrand
- ss2tf
- tf2ss
- dscr
- abcd