# inistate

離散時間システムの状態量初期値を推定

## 呼び出し手順

    X0 = inistate(SYS,Y,U,TOL,PRINTW)
                X0 = inistate(A,B,C,Y,U);
                X0 = inistate(A,C,Y);

                [x0,V,rcnd] = inistate(SYS,Y,U,TOL,PRINTW)

## パラメータ

SYS

  指定するシステム, syslin(dt,A,B,C,D)

Y

  システムの出力

U

  システムの入力

TOL

  TOL は行列のランクを推定する際に使用される許容誤差です. TOL > 0 の場合,TOLで指定した値が 条件数の逆数の下界として使用されます.

  デフォルト: prod(size(matrix))*epsilon_machine ただし epsilon_machine は相対機械精度です.

PRINTW

  PRINTW は警告メッセージの出力に関するスイッチです.

  =

    1: 警告メッセージを出力;

  =

    0: 警告メッセージを出力しない.

  デフォルト: PRINTW = 0.

X0

  状態量の初期値の推定値

V

  システム状態行列Aを実数Schur形式に縮減する直交行列

rcnd

  解く最小二乗問題の係数行列の条件数の逆数の推定値.

## 説明

inistate は， (推定された)システム行列, 一連の入力/出力データを指定すると, 離散時間システムの状態量の初期値を推定します.

X0 = inistate(SYS,Y,U,TOL,PRINTW) は, 出力データ Y および　入力データ U を用いて, 離散時間システム SYS = (A,B,C,D) の状態量の初期値 X0 を 推定します. モデルの構造は以下のようになります :

    x(k+1) = Ax(k) + Bu(k),   k >= 1,
    y(k)   = Cx(k) + Du(k),

ベクトル y(k) および u(k) はそれぞれ Y および U のk行目の 転置です.

最初の入力パラメータ SYS (syslinオブジェクト)の替わりに, 等価な情報を, X0 = inistate(A,B,C,Y,U); または X0 = inistate(A,C,Y);のように 行列パラメータを用いて指定することが可能です.

[x0,V,rcnd] = inistate(SYS,Y,U,TOL,PRINTW) は, x0 以外に, システム状態行列 A を実数 Schur 形式に縮減する 直交行列 V, 解く最小二乗問題の係数行列の条件数の逆数の推定値 も返します.

## 参照

- findBD
- findx0BD