lqg2stan LQG を標準問題に変換する

## 呼び出し手順

    [P,r]=lqg2stan(P22,bigQ,bigR)

## パラメータ

P22

  状態空間表現の`syslin` リスト (ノミナルプラント)

bigQ

  `[Q,S;S',N]` (対称) 重み行列

bigR

  `[R,T;T',V]` (対称) 共分散行列

r

  `1`x`2` 行ベクトル = (観測量の数, 入力の数) (`P`の2,2区画の次元)

P

  `syslin` リスト(拡張プラント)

## 説明

`lqg2stan` は, 線形LQG(H2)コントローラ設計の拡張プラントを返します.

`P22=syslin(dom,A,B2,C2)` はノミナルプラントで, 連続時間系 (`dom='c'`)または離散時間系 (`dom='d'`) のどちらかとすることができます.

    .
    x = Ax + w1 + B2u
    y = C2x + w2

(連続時間プラントの場合).

    x[n+1]= Ax[n] + w1 + B2u
        y = C2x + w2

(離散時間プラントの場合).

(ある時間における) 評価関数は `[x' u'] bigQ [x;u]`です.

`[w1;w2]` の共分散は `E[w1;w2] [w1',w2'] = bigR`です.

`[B1;D21]` が`bigQ`の因数, `[C1,D12]`が`bigR`の因数, `[A,B2,C2,D22]`がP22の実現の場合, `P`は `[A,[B1,B2],[C1,-C2],[0,D12;D21,D22]`の実現です. `lqg`により計算された(負の)フィードバック は`P22`を安定化します.すなわち, `cl=P22/.K`の極は安定となります.

## 例

    ny=2;nu=3;nx=4;
    P22=ssrand(ny,nu,nx);
    bigQ=rand(nx+nu,nx+nu);bigQ=bigQ*bigQ';
    bigR=rand(nx+ny,nx+ny);bigR=bigR*bigR';
    [P,r]=lqg2stan(P22,bigQ,bigR);K=lqg(P,r);  //K=LQG-controller
    spec(h_cl(P,r,K))      //Closed loop should be stable
    //Same as Cl=P22/.K; spec(Cl('A'))
    s=poly(0,'s')
    lqg2stan(1/(s+2),eye(2,2),eye(2,2))

## 参照

- lqg
- lqr
- lqe
- obscont
- h_inf
- augment
- fstabst
- feedback

## History

6.0 It is no longer necessary to enter `-P22` to get `P` instead of `-P` (bug 13751 fixed).