exponenta event banner

ufind

Поиск неопределенных переменных в модели 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 все блоки пространства неопределенного состояния и неопределенные переменные:

  1. Откройте модель Simulink.

    open_system('usim_model')
    

    Модель, как показано на следующем рисунке, содержит три блока пространства неопределенного состояния, названные немоделируемой динамикой установки, установкой и коэффициентом усиления датчика. Эти блоки зависят от трех неопределенных переменных input_unc, unc_pole и sensor_gain.

  2. Использовать ufind для поиска всех блоков пространства неопределенного состояния и неопределенных переменных в модели.

    [uvars,pathinfo] = ufind('usim_model')
    
  3. Напечатать uvars для просмотра структуры uvars. MATLAB ® возвращает следующий результат:

    uvars = 
    
          input_unc: [1x1 ultidyn]
        sensor_gain: [1x1 ureal]
           unc_pole: [1x1 ureal]
    

    Каждая неопределенная переменная является ureal или ultidyn и указан по имени в uvars.

  4. Просмотр путей блоков и неопределенных переменных в пространстве неопределенного состояния.

    1. Напечатать pathinfo(:,1) для просмотра путей блоков пространства неопределенного состояния в модели. MATLAB возвращает следующий результат:

      ans = 
      
          'usim_model/Plant'
          'usim_model/Sensor Gain'
          'usim_model/Unmodeled Plant Dynamics'
      
    2. Напечатать pathinfo(:,2) для просмотра неопределенных переменных, на которые ссылается каждый блок пространства неопределенного состояния. MATLAB возвращает следующие результаты:

      ans = 
      
          'unc_pole'
          'sensor_gain'
          'input_unc'
      
Представлен в R2009b