Main Content

stack

配列次元と共にモデルまたはモデル配列をスタックして、モデル配列を作成する

構文

sys = stack(arraydim,sys1,sys2,...)

説明

sys = stack(arraydim,sys1,sys2,...) は、配列次元 arraydim と共にモデル (または配列) sys1sys2... をスタック (連結) することによって、動的システム モデル sys の配列を生成します。モデルはすべて、入出力数が等しくなければなりません (I/O 次元が同じ) が、状態数は異なってもかまいません。I/O 次元は、配列次元にカウントされません。モデル配列と配列次元の詳細については、モデル配列を参照してください。

可変次数を含む状態空間モデルの配列では、配列にアクセスするのに、ドット演算子 (sys.A など) を使用することはできません。次の構文

[A,B,C,D] = ssdata(sys,'cell')

を使用すると、各モデルの状態空間行列を cell 配列 ABC および D の別々のセルとして抽出できます。

例 1

sys1sys2 が、2 つのモデルである場合、

  • stack(1,sys1,sys2) は、2 行 1 列のモデル配列を作成します。

  • stack(2,sys1,sys2) は、1 行 2 列のモデル配列を作成します。

  • stack(3,sys1,sys2) は、1×1×2 のモデル配列を作成します。

例 2

同じ推定データから導出した同定された状態空間モデルをスタックし、ボード応答を比較します。

load iddata1 z1
sysc = cell(1,5);
opt = ssestOptions('Focus','simulation');
for i = 1:5
sysc{i} = ssest(z1,i-1,opt);
end
sysArray = stack(1, sysc{:});
bode(sysArray);

バージョン履歴

R2006a より前に導入