配列からのモデルの選択
この例では、配列のインデックス付けを使ってモデル配列から個別のモデルまたは一連のモデルを選択する方法を示します。
MATLAB® ワークスペースに伝達関数配列
m2d
を読み込みます。load LTIexamples m2d
(オプション)
m2d
のステップ応答をプロットします。step(m2d)
ステップ応答は、
m2d
に 6 つの 1入力 2 出力モデルが含まれていることを示します。step
コマンドは、単一プロット上に配列のすべてのモデルをプロットします。(オプション)
m2d
の次元を調べます。arraydim = size(m2d)
このコマンドは次の結果を生成します。
arraydim = 2 1 2 3
arraydim
の最初のエントリである 2 と 1 は、m2d
が 2 出力 1 入力の伝達関数の配列であることを示します。arraydim
の残りのエントリは、m2d
の配列次元 2 行 3 列を提供します。
一般に、モデル配列の次元は
[Ny,Nu,S1,...,Sk]
です。Ny
とNu
は配列内の各モデルの出力と入力の数です。S1,...,Sk
は配列次元です。つまり、Si
は、i 番目の配列次元のモデル数です。m2d
の 2 番目の行、1 番目の列で伝達関数を選択します。そのためには、MATLAB 配列インデックス付けを使用します。
sys = m2d(:,:,2,1)
ヒント
配列の次元を参照する単一インデックスを使用して、モデルにアクセスできます。以下に例を示します。
は、sys = m2d(:,:,4)
m2d(:,:,2,1)
と同じモデルを選択します。m2d
の各モデルの最初の入力から最初の出力にサブシステムの配列を選択します。m11 = m2d(1,1,:,:)
(オプション)
m11
のステップ応答をプロットします。step(m11)
ステップ応答は、
m11
が 6 つの単入力単出力 (SISO) モデルの配列であることを示します。メモ
周波数応答データ (FRD) モデルに対して、配列インデックスでは、次のようにキーワード
'frequency'
と、その後に特定部分の周波数点を抽出する表現を続けます。sys(outputs,inputs,n1,...,nk,'frequency',SelectedFreqs)