Этот пример показывает рабочий процесс для переменных значений неуверенности через несколько Неопределенных блоков Пространства состояний в модели Simulink®. Используйте этот подход для сложных моделей с большим количеством неопределенных переменных или Неопределенных блоков Пространства состояний.
Этот раздел использует модель Simulink, чтобы предоставить постепенные инструкции для переключения между номинальными и пользовательскими значениями неуверенности в подсказке MATLAB®.
Откройте модель Simulink rct_sim_ex2
.
rct_sim_ex2
Модель содержит два Неопределенных блока Пространства состояний, как показано в следующей фигуре.
Unmodeled dynamics
и блоки First order with uncertain pole
зависят от неопределенных переменных input_unc
и a
.
Дважды кликните блок Unmodeled dynamics
, чтобы открыть диалоговое окно параметров блоков. Поле значения Неуверенности содержит переменную val_all
. Точно так же поле значения Неуверенности в диалоговом окне параметров блоков First order with uncertain pole
содержит переменную val_all
. Вы используете эту переменную, чтобы отличаться неопределенные значения переменных через обоих Неопределенные блоки Пространства состояний.
При определении val_all
можно ввести только подмножество неопределенных переменных, на которые ссылается модель в структуре. Когда вы не задаете некоторые неопределенные переменные, программное обеспечение использует их номинальную стоимость во время симуляции.
В посдказке MATLAB задайте val_all = [];
и нажатие кнопки
моделировать модель.
Программное обеспечение использует номинальную стоимость неопределенных переменных a
и input_unc
во время симуляции. После того, как симуляция завершается, блок MultiPlot Graph показывает следующей фигуре.
Сгенерируйте случайные выборки значений неуверенности:
Найдите все Неопределенные блоки Пространства состояний, и сопоставил неопределенные переменные в модели.
uvars=ufind('rct_sim_ex2')
MATLAB возвращает следующий результат:
uvars =
a: [1x1 ureal] input_unc: [1x1 ultidyn]
Неопределенными переменными a
и input_unc
является ureal
и объекты ultidyn
, соответственно и структура, uvars
перечисляет их по наименованию.
Случайным образом демонстрационный неопределенные переменные.
val_all = usample(uvars)
MATLAB возвращает следующий результат:
val_all =
a: -1.1167 input_unc: [1x1 ss]
Структура val_all
содержит демонстрационные значения неопределенных переменных a
и input_unc
. Программное обеспечение выбирает значения в заданных областях значений неуверенности для a
и input_unc
.
Моделируйте модель для значений неуверенности val_all
. Путем повторения процесса в цикле for можно оценить, как неуверенность влияет на образцовые ответы. Например, выполните 10 симуляций с помощью случайных значений неуверенности:
for i=1:10; val_all = usample(uvars) sim('rct_sim_ex2',10); end
Во время каждой симуляции, демонстрационных значений программного обеспечения неопределенных переменных input_unc
и a
и графиков ответ для выбранных значений. Блок MultiPlot Graph показывает следующие ответы, полученные с помощью значений случайной выборки неопределенных переменных.