Этот пример показывает, как построить и анализировать переходной процесс для пакетных результатов линеаризации, полученных в командной строке. Термин batch linearization results относится к массиву модели ss
, возвращенному интерфейсом slLinearizer
или функцией linearize
. Этот массив содержит линеаризацию для переменных значений параметров, рабочих точек, или оба, такой, как проиллюстрировано в Пакете Линеаризуют Модель для Изменений Параметра в Одной Рабочей точке и Отличаются Рабочие точки и Получают Несколько Передаточных функций Используя Интерфейс slLinearizer. Можно использовать методы, проиллюстрированные в этом примере, чтобы анализировать частотную характеристику, устойчивость или чувствительность для пакетных результатов линеаризации.
Загрузите пакетные результаты линеаризации, сохраненные в scd_batch_lin_results1.mat
.
Следующий код получает линеаризацию модели watertank
в течение четырех раз снимка состояния симуляции, t = [0 1 2 3]
. В каждый раз снимка состояния отличаются параметры модели, A
и b
. Демонстрационными значениями для A
является [10 20 30]
, и демонстрационными значениями для b
является [4 6]
. Интерфейс slLinearizer
включает аналитические точки в ссылочный сигнал и объект вывод.
open_system('watertank') sllin = slLinearizer('watertank',{'watertank/Desired Water Level',... 'watertank/Water-Tank System'}) [A_grid,b_grid] = ndgrid([10,20,30],[4 6]); params(1).Name = 'A'; params(1).Value = A_grid; params(2).Name = 'b'; params(2).Value = b_grid; sllin.Parameters = params; sllin.OperatingPoints = [0,1,2,3]; linsys = getIOTransfer(sllin,'Desired Water Level','Water-Tank System');
linsys
, 4 3 2 массивами модели ss
, содержит передаточную функцию с обратной связью линеаризовавшей модели watertank
от ссылочного входа до объекта вывод. Рабочая точка отличается вдоль первого измерения массива linsys
и параметров, A
и b
отличаются по вторым и третьим измерениям, соответственно.
stepplot(linsys)
График шага показывает ответы каждой модели в массиве. Этот график показывает область значений переходных процессов системы в рабочих диапазонах, покрытых сеткой параметра и времена снимка состояния.
Чтобы просмотреть параметры, сопоставленные с конкретным ответом, кликните по ответу на графике.
Всплывающая подсказка появляется на графике, предоставляя информацию о выбранном ответе и связанной модели. Последние строки всплывающей подсказки показывают комбинацию параметра и время снимка состояния симуляции, которое привело к этому ответу. Например, в этом предыдущем графике, выбранный ответ соответствует модели, полученной установкой A
к 30
и b
к 4
. Программное обеспечение линеаризовало модель после симуляции модели для трех единиц измерения времени.
Предположим, что вы хотите просмотреть ответы для моделей, линеаризовавших в определенное время снимка состояния симуляции, таких как две единицы измерения времени. Щелкните правой кнопкой по графику и выберите Array Selector. Диалоговое окно Model Selector for LTI Arrays открывается.
Панель Selection Criterion Setup содержит три столбца, один для каждого образцового измерения массива linsys
. Первый столбец соответствует времени снимка состояния симуляции. Третья запись этого столбца соответствует времени снимка состояния симуляции двух единиц измерения времени, потому что массивом времени снимка состояния был [0,1,2,3]
. Выберите только эту запись в первом столбце.
Нажмите OK. График отображает ответы только для моделей, линеаризовавших в двух единицах измерения времени.
Предположим, что вы хотите исследовать только переходной процесс на модель, полученную путем линеаризации модели watertank
в t = 3
для A = 10
и b = 4
. Для этого можно использовать свойство SamplingGrid
linsys
, который задан как структура. То, когда вы выполняете пакетную линеаризацию, программное обеспечение заполняет SamplingGrid
с информацией относительно значений переменных, раньше получало модель. Значения переменных включают каждый параметр, что вы отличаетесь и времена снимка состояния симуляции, в которые вы линеаризуете модель. Например:
linsys(:,:,1).SamplingGrid
ans = A: 10 b: 4 Time: 0
Здесь linsys(:,:,1)
обращается к первой модели в linsys
. Эта модель была получена во времени симуляции t = 0
для A = 10
и b = 4
.
Используйте индексацию массива, чтобы извлечь от linsys
модель, полученную путем линеаризации модели watertank
в t = 3
для A = 10
и b = 4
.
sg = linsys.SamplingGrid; sys = linsys(:,:,sg.A == 10 & sg.B == 4 & sg.Time == 3);
Структура, sg
, содержит сетку выборки для всех моделей в linsys
. Выражение sg.A == 10 & sg.B == 4 & sg.Time == 3
возвращает логический массив. Каждая запись этого массива содержит логическую оценку выражения для соответствующих записей в sg.A
, sg.B
и sg.Time
. sys
, образцовый массив, содержит все модели linsys
, которые удовлетворяют выражение.
Просмотрите переходной процесс для sys
.
stepplot(sys)