Main Content

minreal

最小実現または極-零点相殺

構文

sysr = minreal(sys)
sysr = minreal(sys,tol)
[sysr,u] = minreal(sys,tol)
... = minreal(sys,tol,false)
... = minreal(sys,[],false)

説明

sysr = minreal(sys) は、状態空間モデルで非可制御あるいは不可観測な状態を削除したり、伝達関数または零点-極-ゲイン モデルの極-零点のペアを相殺したりします。出力 sysr は最小次数で元のモデル sys と同じ応答特性があります。

sysr = minreal(sys,tol) は、状態消去または極-零点相殺で使用される許容誤差を指定します。既定値は、 tol = sqrt(eps) で、この許容誤差を大きくすることにより、さらに他の相殺が実行されます。

[sysr,u] = minreal(sys,tol) は状態空間モデル sys に対して、(U*A*U',U*B,C*U') が (ABC) のカルマン分解となる直交行列 U を返します。

... = minreal(sys,tol,false)... = minreal(sys,[],false) は、関数の詳細出力を無効にします。既定では、minreal には、状態空間モデル sys から削除された状態数を示すメッセージが表示されます。

コマンド

g = zpk([],1,1);
h = tf([2 1],[1 0]);
cloop = inv(1+g*h) * g

は非最小の零点-極/ゲイン モデル cloop を作成します。

cloop =
 
        s (s-1)
  -------------------
  (s-1) (s^2 + s + 1)
 
Continuous-time zero/pole/gain model.

s = 1 で極-零点のペアを相殺するには、次のように入力します。

cloopmin = minreal(cloop)

このコマンドにより以下の結果が出力されます。

cloopmin =
 
        s
  -------------
  (s^2 + s + 1)
 
Continuous-time zero/pole/gain model.

アルゴリズム

極-零点相殺は極および零点を直接検索し、許容誤差内に一致がないかどうかを探します。伝達関数は最初に零点-極-ゲインの形式に変換されます。

代替機能

アプリ

Model Reducer

ライブ エディター タスク

モデル次数の低次元化

バージョン履歴

R2006a より前に導入