複数モデルの取り扱い | ![]() ![]() |
関数stackを使ってLTI配列を構築
LTI配列を構築する他の方法は、関数stack
を使うことです。この関数は、LTI配列と同様に単一のLTIモデルにも機能します。これは、配列次元に沿って、LTI配列または単一のLTIモデルのリストを連結します。stack
に関する一般的な構文は、つぎのようになります。
stack(Arraydim,sys1,sys2...)
j番目の配列次元に沿って、複数のモデルまたはLTI配列を連結するには、つぎのように入力します。
stack(j,sys1,sys2,...,sysn)
たとえば、2つのTFモデルsys1
とsys2
の入力数と出力数が共に等しい場合、
sys = stack(1,sys1,sys2)
stack
は、配列次元に関してのみ連結し、I/O次元に関する連結は行いません。[,]
[;])
)を使います。モデルの連結のための鍵括弧記法の使用法は、"モデルの相互結合関数"を参照してください。LTI配列の連結のタイプに関するいくつかの例題は、"LTI配列上での演算に関する特殊な例"を参照してください。つぎに、関数stack
を使って、LTI配列Hの構築法の例を示します。
% Set up the parameter vectors. zeta = [0.66,0.75]; w = [1.2,1.5]; % これらのパラメータと共に4つのモデルを設定 % H11 = tf(w(1)^2,[1 2*zeta(1)*w(1) w(1)^2]); H12 = tf(w(2)^2,[1 2*zeta(1)*w(2) w(2)^2]); H21 = tf(w(1)^2,[1 2*zeta(2)*w(1) w(1)^2]); H22 = tf(w(2)^2,[1 2*zeta(2)*w(2) w(2)^2]); % stackを使って、LTI配列を設定 COL1 = stack(1,H11,H21); % 2行2列の配列の最初の列 COL2 = stack(1,H12,H22); % 2行2列の配列の2番目の列 H = stack(2, COL1, COL2); % モデルの2つの列を連結
H = [H11,H12;H21,H22];
で出力される単一MIMO LTIモデルとは、非常に異なっていることに注意してください。
![]() |
forループを使ってLTI配列の構築 | tf,zpk,ss,frdを使って、LTI配列を構築 | ![]() |