augment 拡張プラント

## 呼び出し手順

                [P, r] = augment(G)
                [P, r] = augment(G, flag1)
                [P, r] = augment(G, flag1, flag2)

## パラメータ

G

  線形システム (`syslin` リスト), ノミナルプラント

flag1

  以下の文字(大文字)の一つ: `'S'` , `'R'` , `'T'` `'SR'` , `'ST'` , `'RT'` `'SRT'`

flag2

  以下の文字の一つ: `'o'` (出力'output'を意味する, これがデフォルト値) または `'i'` (入力'input'を意味する).

P

  線形システム (`syslin` リスト), ``拡張''プラント

r

  1x2 行ベクトル, `P22 = G`の次元

## 説明

`flag1='SRT'` (デフォルト値)の場合,以下の"完全な" 拡張プラントを返します:

        [ I | -G]   ⇒ 'S'
        [ 0 |  I]   ⇒ 'R'
    P = [ 0 |  G]   ⇒ 'T'
        [-------]
        [ I | -G]

`'S'` , `'R'` , `'T'` は,それぞれ,`P`の最初の3つの(ブロック)行を指します.

`flag1`の中にこれらの3文字のどれかが欠けた場合, `P`の対応する行がなくなります.

`G` が状態空間形式で指定された場合, 戻り値 `P`は最小実現になります. `P` は以下のように計算されます: `[I,0,0;0,I,0;-I,0,I;I,0,0]*[I,-G;0,I;I,0]`.

入力感度関数に関連した拡張プラント,つまり, The augmented plant associated with input sensitivity functions, namely

        [ I | -I]   ⇒ 'S'  (input sensitivity)
        [ G | -G]   ⇒ 'R'  (K*input sensitivity)
    P = [ 0 |  I]   ⇒ 'T'  (K*G*input sensitivity)
        [-------]
        [ G | -G]

は,コマンド`[P,r]=augment(G,flag,'i')`により得られます. 状態空間を`G`とすると, この `P`は以下のように計算されます: `[I,-I;0,0;0,I;0,0]+[0;I;0;I]*G*[I,-I]`, よって,一般に最小実現となります.

重み関数は, `P = blockdiag(W1,W2,W3,eye(G))*P`のように `P`に適当な次元の対角システムを 左から乗じることにより得られます.

感度関数は`lft`により計算することができます.

出力感度関数　[P,r]=augment(P,'SRT') の場合: lft(P,r,K)=[inv(eye()+G*K);K*inv(eye()+G*K);G*K*inv(eye()+G*K)];

入力感度関数の場合 [P,r]=augment(P,'SRT','i'): lft(P,r,K)=[inv(eye()+K*G);G*inv(eye()+K*G);K*G*inv(eye()+G*K)];

## 例

    G = ssrand(2,3,2); // プラント
    K = ssrand(3,2,2); // 補償器
    [P,r] = augment(G,'T');
    T = lft(P,r,K);    // 相補感度関数
    Ktf = ss2tf(K);
    Gtf = ss2tf(G);
    Ttf = ss2tf(T);
    T11 = Ttf(1,1);
    Oloop = Gtf * Ktf;
    Tn = Oloop * inv(eye(Oloop)+Oloop);
    clean(T11 - Tn(1,1));

    //
    [Pi,r] = augment(G,'T','i');
    T1 = lft(Pi,r,K);
    T1tf = ss2tf(T1);  // 入力相補感度関数
    Oloop = Ktf * Gtf;
    T1n = Oloop * inv(eye(Oloop)+Oloop);
    clean(T1tf(1,1) - T1n(1,1))

## 参照

- lft
- sensi