exponenta event banner

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

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

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

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

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 стабилен. 'elem' работает аналогично для многих команд запроса.

Связанные темы