Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

inv

モデルの反転

構文

inv

説明

inv は入力/出力関係

y=G(s)u

を反転して、伝達行列 H(s)=G(s)1 をもつモデルを生成します。

u=H(s)y

この演算は、反転可能な直達行列 D をもつ正方のシステム (入力と出力が同じ数をもつ) でのみ定義されます。inv は連続時間システムと離散時間システムの両方を扱います。

次について考えます。

H(s)=[11s+101]

MATLAB® プロンプトで次のように入力します。

H = [1 tf(1,[1 1]);0 1]
Hi = inv(H)

このようにして反転します。これらのコマンドにより以下の結果が出力されます。

Transfer function from input 1 to output...
 #1:  1
 
 #2:  0
 
Transfer function from input 2 to output...
       -1
 #1:  -----
      s + 1
 
 #2:  1

ここで

H * Hi

は単位伝達関数であることを確認できます (静的ゲイン I)。

制限

inv を使用して、次のようなフィードバック接続をモデル化しないでください。

対応する閉ループ伝達関数 (I+GH)1G を次のように評価することは妥当であるように見えますが、

inv(1+g*h) * g

これは通常、非最小の閉ループ モデルにつながります。たとえば、

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

は、s = 1 の極-零点相殺が安定しない 3 次閉ループ モデルをもたらします。

cloop

Zero/pole/gain:
      s (s-1)
-------------------
(s-1) (s^2 + s + 1)

feedback を使用してそのような落とし穴を回避してください。

cloop = feedback(g,h)

Zero/pole/gain:
      s
-------------
(s^2 + s + 1)
R2006a より前に導入