# stabil

安定化

## 呼び出し手順

    F=stabil(A,B,alfa)
                K=stabil(Sys,alfa,beta)

## パラメータ

A

  正方実数行列 (`nx x nx`)

B

  実数行列 (`nx x nu`)

alfa, beta

  実数または(共役対の)複素ベクトルまたは実数.

F

  実数行列 (`nx x nu`)

Sys

  線形システム (`syslin` リスト) (`m` 入力, `p` 出力).

K

  線形システム (`p` 入力, `m` 出力)

## 説明

`F=stabil(A,B,alfa)` は, 対`(A,B)`が可安定の場合, `A+B*F` が安定となるような ゲイン行列 `F` を返します. 配置可能な極は,`alfa(1),alfa(2),...`に設定されます. `(A,B)` が可安定でない場合, 警告が出力され, 配置可能な極が `alfa(1),alfa(2),...` に設定されます. `alfa` は, 全ての固有値がこの`alfa`に設定される数値です (デフォルト値は `alfa=-1`).

`K=stabil(Sys,alfa,beta)` は, `(A,B)` の可制御な固有値を`alfa`に設定し, `(C,A)`の可観測な固有値を`beta`に設定する `Sys`の補償器`K`を返します.

全ての配置可能な閉ループ極 ( これは,`Aclosed=h_cl(Sys,K)`の固有値として指定されます) は, `alfa(i)`および`beta(j)`に設定されます.

## 例

    // Gain:
    Sys=ssrand(0,2,5,list('st',2,3,3));
    A=Sys('A');B=Sys('B');F=stabil(A,B);
    spec(A) //2 controllable modes 2 unstable uncontrollable modes
    //and one stable uncontrollable mode
    spec(A+B*F) //the two controllable modes are set to -1.
    // Compensator:
    Sys=ssrand(3,2,5,list('st',2,3,3)); //3 outputs, 2 inputs, 5 states
    //2 controllables modes, 3 controllable or stabilizable modes.
    K=stabil(Sys,-2,-3);  //Compensator for Sys.
    spec(Sys('A'))
    spec(h_cl(Sys,K))   //K Stabilizes what can be stabilized.

## 参照

- st_ility
- contr
- ppol