gfrancis 追尾用のフランシス方程式

## 呼び出し手順

    [L,M,T]=gfrancis(Plant,Model)

## 引数

Plant

  状態空間表現の連続時間動的システム.

Model

  状態空間表現の連続時間動的システム.

L,M,T

  実数行列

## 説明

線形プラント:

    x'= F*x + G*u
    y = H*x + J*u

および線形モデルを指定

    xm'= A*xm + B*um
    ym = C*xm + D*um

プラントの状態量 x(t) の安定性を維持しつつ, プラントがモデルを追尾する,すなわち, `e = y - ym ---> 0` ことが目標です. `u` はフィードフォワードおよびフィードバックにより 指定されます

    u = L*xm + M*um + K*(x-T*xm) = [K , L-K*T] *(x,xm) + M*um

行列 T,L,M は一般化フランシス方程式を満たします

    F*T + G*L = T*A
    H*T + J*L = C
          G*M = T*B
          J*M = D

行列 `K` は,対 `(F,G)` を安定化するように 選択する必要があります. ディレクトリ `demos/tracking` の使用例を参照ください.

## 例

    Plant=ssrand(1,3,5);
    [F,G,H,J]=abcd(Plant);
    nw=4;nuu=2;A=rand(nw,nw);
    st=maxi(real(spec(A)));A=A-st*eye(A);
    B=rand(nw,nuu);C=2*rand(1,nw);D=0*rand(C*B);
    Model=syslin('c',A,B,C,D);
    [L,M,T]=gfrancis(Plant,Model);
    norm(F*T+G*L-T*A,1)
    norm(H*T+J*L-C,1)
    norm(G*M-T*B,1)
    norm(J*M-D,1)

## 参照

- lqg
- ppol

## 履歴

5.4.0 `Sl`が 連続時間線形システムであることを確認するようになりました. この修正は,この コミットにより導入されました.