Найдите неопределенные переменные в модели Simulink
uvars = ufind('mdl') [uvars,pathinfo] = ufind('mdl') uvars = ufind(usys_1,usys_2,...)
uvars = ufind ('mdl')
находит Неопределенные блоки Пространства состояний в модели mdl
Simulink®. Это возвращает структуру uvars
, который содержит все неопределенные переменные, сопоставленные с Неопределенными блоками Пространства состояний. Каждая неопределенная переменная является объектом ureal
или ultidyn
и перечислена по наименованию в uvars
.
[uvars,pathinfo] = ufind('mdl')
возвращает массив ячеек pathinfo
, который содержит пути к Неопределенным блокам Пространства состояний и соответствующим неопределенным переменным в блоке. Первый столбец pathinfo
перечисляет пути к блоку через иерархию модели и вторые списки столбцов неопределенные переменные, сопоставленные с блоком. Используйте pathinfo
, чтобы проверить, что были идентифицированы все Неопределенные блоки Пространства состояний в модели mdl
.
uvars = ufind(usys_1,usys_2,...)
собирает все неопределенные переменные, на которые ссылается неопределенная модель usys_n
. usys_n
может быть моделями uss
или ufrd
. Используйте этот синтаксис в качестве альтернативы запросу самой модели, когда вы знаете неопределенные модели, что Неопределенное Пространство состояний блокирует использование.
ufind
может найти Неопределенные блоки Пространства состояний в Подсистемах Маскированных, Ссылках Библиотеки и Моделях - ссылках, но не в Ускоренных Моделях - ссылках. ошибки ufind
, если то же неопределенное имя переменной имеет различные определения в модели. Например, если ваша модель содержит два Неопределенных блока Пространства состояний, где неопределенные системные переменные задают ту же неопределенную переменную 'unc_par"
как ultidyn('unc_par',[1 1])
и ureal('unc_par',5)
, такая ошибка происходит.
Найдите все Неопределенные блоки Пространства состояний и неопределенные переменные в модели Simulink:
Откройте модель Simulink.
open_system('usim_model')
Модель, как показано в следующей фигуре, содержит три Неопределенных блока Пространства состояний под названием Несмоделированная Динамика Объекта, Объект и Усиление Датчика. Эти блоки зависят от трех неопределенных переменных под названием input_unc
, unc_pole
и sensor_gain
.
Используйте ufind
, чтобы найти все Неопределенные блоки Пространства состояний и неопределенные переменные в модели.
[uvars,pathinfo] = ufind('usim_model')
Введите uvars
, чтобы просмотреть структуру uvars
. MATLAB® возвращает следующий результат:
uvars = input_unc: [1x1 ultidyn] sensor_gain: [1x1 ureal] unc_pole: [1x1 ureal]
Каждая неопределенная переменная является объектом ureal
или ultidyn
и перечислена по наименованию в uvars
.
Просмотрите пути к блоку Uncertain State Space и неопределенные переменные.
Введите pathinfo(:,1)
, чтобы просмотреть пути Неопределенных блоков Пространства состояний в модели. MATLAB возвращает следующий результат:
ans = 'usim_model/Plant' 'usim_model/Sensor Gain' 'usim_model/Unmodeled Plant Dynamics'
Введите pathinfo(:,2)
, чтобы просмотреть неопределенные переменные, на которые ссылается каждый блок Uncertain State Space. MATLAB возвращает следующие результаты:
ans = 'unc_pole' 'sensor_gain' 'input_unc'
Отличайтесь значения неуверенности Используя отдельные неопределенные блоки пространства состояний
Отличайтесь значения неуверенности через несколько неопределенных блоков пространства состояний
Анализ робастности в Simulink