配列サイズおよび特性の照会
この例では、モデル配列のサイズ (配列内のモデルの入力と出力の数および配列次元を含む) を照会する方法を示します。また、安定性などの配列内にあるモデルの特性を照会する方法も示します。
配列サイズ
モデル配列には、I/O 次元と配列次元の 2 つの異なる次元のセットがあります。I/O 次元は配列内のモデルの入力と出力の数です (配列内の各モデルの I/O 次元は同じでなければなりません)。配列次元は配列自体の次元です。保存されたモデル配列を読み込み、その次元を照会します。
load('queryexample.mat','sysarr') size(sysarr)
2x4 array of state-space models. Each model has 3 outputs, 1 inputs, and 3 states.
出力引数のないモデル配列に対して size
コマンドを使用すると、2 つの次元セットが表示されます。
配列次元を数値配列として取得するには、出力引数を指定して size
を使用します。
dims = size(sysarr)
dims = 1×4
3 1 2 4
dims
の最初の 2 つのエントリは、sysarr
内のモデルの I/O 次元であり、それぞれに 3 つの出力と 1 つの入力があります。dims
の残りのエントリは配列自体の次元です。つまり、sysarr
は 2 行 4 列のモデルの配列です。
それらの次元の値ではなく配列内の次元の数を照会するには、ndims
を使用します。
dims = ndims(sysarr)
dims = 4
この場合、sysarr
には 4 = 2 + 2 の次元があります。これは I/O 次元 (出力と入力) および配列次元です。iosize
コマンドを使用して I/O 次元だけを照会します。
ios = iosize(sysarr)
ios = 1×2
3 1
配列内のモデル総数を照会します。
N = nmodels(sysarr)
N = 8
sysarr
が 2 行 4 列のモデル配列であるため、このコマンドは 2 × 4 = 8 の値を返します。
配列内のモデルの特性
isproper
や isstable
などのクエリ コマンドは、モデル配列を扱います。たとえば、sysarr
内のモデルが安定しているかどうかを照会します。
Bsiso = isstable(sysarr)
Bsiso = logical
1
既定では、isstable
は配列内のすべてのモデルが安定している場合に 1 (true
) を返します。1 つ以上のモデルが安定していない場合は 0 (false
) を返します。モデル配列の要素単位の照会を実行するには、'elem'
オプションを使用します。
Bsiso = isstable(sysarr,'elem')
Bsiso = 2x4 logical array
1 1 1 1
1 1 1 1
isstable
はブール値の配列を返します。この配列の次元は sysarr
の配列次元と一致します。配列 Bsiso
の各エントリは、sysarr
の対応するモデルが安定しているかどうかを示します。'elem'
オプションは、多くのクエリ コマンドで同様に機能します。