Этот пример показывает, как запросить размер образцовых массивов, включая количество вводов и выводов моделей в массиве и измерения массива. Это также показывает, как запросить характеристики моделей в массиве, таких как устойчивость.
Образцовые массивы имеют два различных набора размерностей, размерностей ввода-вывода и измерений массива. Размерности ввода-вывода являются количествами вводов и выводов моделей в массиве. (Каждая модель в массиве должна иметь те же размерности ввода-вывода.) Измерения массива являются размерностями самого массива. Загрузите сохраненный образцовый массив и запросите его размерности.
load(fullfile(matlabroot,'examples','control','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'
работает так же на многие команды запроса.