Найдите неопределенные переменные в модели 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