Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

堆栈

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

構文

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 つのモデルである場合、

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

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

  • 堆栈(3,sys1,sys2)は、1 x 1 x 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 より前に導入