このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
modsep
領域ベースのモード分解
構文
[H,H0] = modsep(G,N,REGIONFCN)
MODSEP(G,N,REGIONFCN,PARAM1,...)
説明
[H,H0] = modsep(G,N,REGIONFCN)
は LTI モデル G
を、複素平面の重ならない領域 Rj
に極をもつ n
個の単純なモデル Hj
の和に分解します。
G
は、ss
、tf
、または zpk
で作成されるどの LTI モデルにもなり得ます。また、N
は、分解に使用される領域の数です。modsep
はサブモデル Hj
を LTI 配列 H
にまとめ、静的ゲイン H0
を個々に返します。サブモデル Hj(s)
を取り出すには H(:,:,j)
を使用してください。
興味のある領域を指定するには、関数を下記の形式で使用します。
IR = REGIONFCN(p)
この関数は、領域インデックス IR
を 1 と N
の間で極 p
に与えます。この関数をその名前または関数ハンドルで指定し、追加の入力引数を渡すために構文 MODSEP(G,N,REGIONFCN,PARAM1,...)
を使用します。
IR = REGIONFCN(p,PARAM1,...)
例
H1
と H2
が単位円板の内と外にそれぞれ極をもつ場合に G
を G(z) = H0 + H1(z) + H2(z)
に分解するには、以下を使用します。
[H,H0] = modsep(G,2,@udsep)
ここで関数 udsep
は次のように定義されます。
function r = udsep(p) if abs(p)<1, r = 1; % assign r=1 to poles inside unit disk else r = 2; % assign r=2 to poles outside unit disk end
LTI 配列 H
から H1(z)
と H2(z)
を展開するには、以下を使用します。
H1 = H(:,:,1); H2 = H(:,:,2);
バージョン履歴
R2006a より前に導入