Этот пример показывает рабочий процесс для различных значений неопределенности через несколько блоков Uncertain State Space в модели Simulink®. Используйте этот подход в сложных моделях с большим количеством неопределенных переменных или блоков Uncertain State Space.
Этот раздел использует модель Simulink, чтобы предоставить постепенные инструкции для переключения между номинальными и пользовательскими значениями неопределенности в подсказке MATLAB®.
Откройте модель Simulink rct_sim_ex2.
rct_sim_ex2
Модель содержит два блока Uncertain State Space как показано в следующем рисунке.

Unmodeled dynamics и First order with uncertain pole блоки зависят от неопределенных переменных input_unc и a.
Дважды кликните Unmodeled dynamics блокируйтесь, чтобы открыть диалоговое окно параметров блоков. Поле значения Неопределенности содержит переменную val_all. Точно так же поле значения Неопределенности в First order with uncertain pole диалоговое окно параметров блоков содержит переменную val_all. Вы используете эту переменную, чтобы варьироваться неопределенные значения переменных через обоих блоки Uncertain State Space.

При определении val_all, можно ввести только подмножество неопределенных переменных, на которые ссылается модель в структуре. Когда вы не задаете некоторые неопределенные переменные, программное обеспечение использует их номинальную стоимость в процессе моделирования.
В посдказке MATLAB задайте val_all = []; и щелкните
![]()
симулировать модель.
Программное обеспечение использует номинальную стоимость неопределенных переменных a и input_unc в процессе моделирования. После того, как симуляция завершается, блок MultiPlot Graph показывает следующей фигуре.

Сгенерируйте случайные выборки значений неопределенности:
Найдите все блоки Uncertain State Space, и сопоставил неопределенные переменные в модели.
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 показывает следующие ответы, полученные с помощью значений случайной выборки неопределенных переменных.
