このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
inv
モデルの反転
構文
inv
inv(sys,'min')
説明
inv
は入力/出力関係
を反転して、伝達行列 をもつモデルを生成します。
この演算は、反転可能な直達行列 D をもつ正方のシステム (入力と出力が同じ数をもつ) でのみ定義されます。inv
は連続時間システムと離散時間システムの両方を扱います。
inv(sys,'min')
は sys
を反転して余分な状態を削除し、sys
または A
のそれぞれと同じ数の状態をもつモデルを取得します。ss
、genss
および uss
モデルの場合、既定では陰的な形式で逆モデルが返されます。スパース モデルではこのオプションは無視されます。通常、スパース性が破棄されるためです。isproper
または ss(sys,'explicit')
を使用して、必要に応じて明示的なモデルを抽出します。
例
次について考えます。
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
を使用して、次のようなフィードバック接続をモデル化しないでください。
対応する閉ループ伝達関数 を次のように評価することは妥当であるように見えますが、
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 より前に導入