stack
配列次元と共にモデルまたはモデル配列をスタックして、モデル配列を作成する
構文
sys = stack(arraydim,sys1,sys2,...)
説明
sys = stack(arraydim,sys1,sys2,...)
は、配列次元 arraydim
と共にモデル (または配列) sys1
、sys2
、...
をスタック (連結) することによって、動的システム モデル sys
の配列を生成します。モデルはすべて、入出力数が等しくなければなりません (I/O 次元が同じ) が、状態数は異なってもかまいません。I/O 次元は、配列次元にカウントされません。モデル配列と配列次元の詳細については、モデル配列 (Control System Toolbox)を参照してください。
可変次数を含む状態空間モデルの配列では、配列にアクセスするのに、ドット演算子 (sys.A
など) を使用することはできません。次の構文
[A,B,C,D] = ssdata(sys,'cell')
を使用すると、各モデルの状態空間行列を cell 配列 A
、B
、C
および D
の別々のセルとして抽出できます。
例
例 1
sys1
と sys2
が、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);
バージョン履歴
R2012a で導入