ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

modsep

領域ベースのモード分解

構文

[H,H0] = modsep(G,N,REGIONFCN)
MODSEP(G,N,REGIONFCN,PARAM1,...)

説明

[H,H0] = modsep(G,N,REGIONFCN) は、LTI モデル G を複素平面の互いに素な領域 Rj における極をもつ n 個の単純なモデル Hj の和に分解します。

G(s)=H0+j=1NHj(s)

G は、sstf、または 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,...)

H1H2 が単位円の内と外にそれぞれ極をもつ場合に GG(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);

参考

この情報は役に立ちましたか?