Размер и характеристики массива запросов

В этом примере показано, как запросить размер массивов моделей, включая количество входов и выходов моделей в массиве и измерениях массива. Это также показывает, как запросить характеристики моделей в массиве, такие как стабильность.

Размер массива

Массивы моделей имеют два различных набора измерений, размерности ввода-вывода и измерения массива. Размерности ввода-вывода являются количеством входов и выходов моделей в массиве. (Каждая модель в массиве должна иметь одинаковые размерности ввода-вывода.) Измерения массива являются размерностями самого массива. Загрузите сохраненный массив моделей и запросите его размерности.

load('queryexample.mat','sysarr')
size(sysarr)
2x4 array of state-space models.
Each model has 3 outputs, 1 inputs, and 3 states.

Когда вы используете size команда для массива моделей без выходного аргумента, отображение показывает два набора размерностей.

Чтобы получить измерения массива в виде числового массива, используйте size с выходным аргументом.

dims = size(sysarr)
dims = 1×4

     3     1     2     4

Первые две записи в dims являются ли размерности ввода-вывода моделей в sysarr, каждый из которых имеет три выхода и один вход. Оставшиеся записи в dims - размерности самого массива. Таким образом, sysarr является массивом моделей 2 на 4.

Чтобы запросить количество размерностей в массиве, а не значения этих размерностей, используйте ndims.

dims = ndims(sysarr)
dims = 4

В этом случае sysarr имеет 4 = 2 + 2 размерности: Размерности ввода-вывода (выходы и входы) и измерения массива. Запрос ввода-вывода размерностей в одиночку с помощью iosize команда.

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) если все модели в массиве стабильны. Команды возвращают 0 (false) если одна или несколько моделей не являются стабильными. Чтобы выполнить поэлементный запрос массива моделей, используйте 'elem' опция.

Bsiso = isstable(sysarr,'elem')
Bsiso = 2x4 logical array

   1   1   1   1
   1   1   1   1

Теперь isstable возвращает массив логических значений. Размерности этого массива совпадают с измерениями массива sysarr. Каждая запись в массиве Bsiso указывает, является ли соответствующая модель sysarr является стабильным. The 'elem' опция работает аналогично для многих команд запросов.

Похожие темы