Поиск неопределенных переменных в модели 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 можно найти блоки пространства неопределенного состояния в маскированных подсистемах, связях библиотеки и ссылках модели, но не в ускоренных ссылках модели. 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.
Просмотр путей блоков и неопределенных переменных в пространстве неопределенного состояния.
Напечатать pathinfo(:,1) для просмотра путей блоков пространства неопределенного состояния в модели. MATLAB возвращает следующий результат:
ans =
'usim_model/Plant'
'usim_model/Sensor Gain'
'usim_model/Unmodeled Plant Dynamics'
Напечатать pathinfo(:,2) для просмотра неопределенных переменных, на которые ссылается каждый блок пространства неопределенного состояния. MATLAB возвращает следующие результаты:
ans =
'unc_pole'
'sensor_gain'
'input_unc'
Моделирование неопределенной модели при выборочных значениях параметров
Варьировать неопределенные значения для нескольких неопределенных блоков
Анализ надежности в Simulink