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