exponenta event banner

советовать

Поиск блоков, которые потенциально проблематичны для линеаризации

Описание

При линеаризации модели Simulink ® можно создать LinearizationAdvisor объект, содержащий диагностическую информацию об отдельных блочных линеаризациях. Поиск в LinearizationAdvisor для диагностики блоков, потенциально проблемных для линеаризации, использовать advise функция.

пример

advise(advisor) открывает линеаризатор модели с открытой вкладкой Помощник (Advisor) для поиска и устранения неисправностей линеаризаций блоков в advisor. Дополнительные сведения см. в разделе Устранение неполадок результатов линеаризации в линеаризаторе модели.

пример

result = advise(advisor) возвращает LinearizationAdvisor объект, содержащий диагностическую информацию о линеаризации для любых блоков в advisor которые потенциально проблематичны для линеаризации.

Примеры

свернуть все

Загрузить модель Simulink.

mdl = 'scdpendulum';
load_system(mdl)

Линеаризация модели и получение LinearizationAdvisor объект.

io = getlinio(mdl);
opt = linearizeOptions('StoreAdvisor',true);
[linsys,~,info] = linearize(mdl,io,opt);
advisor = info.Advisor;

Откройте помощник по линеаризации в линеаризаторе модели.

advise(advisor)

Загрузить модель Simulink.

mdl = 'scdpendulum';
load_system(mdl)

Линеаризация модели и получение LinearizationAdvisor объект.

io = getlinio(mdl);
opt = linearizeOptions('StoreAdvisor',true);
[linsys,~,info] = linearize(mdl,io,opt);
advisor = info.Advisor;

Поиск потенциально проблемных блоков для линеаризации.

result = advise(advisor)
result = 
  LinearizationAdvisor with properties:

               Model: 'scdpendulum'
      OperatingPoint: [1x1 opcond.OperatingPoint]
    BlockDiagnostics: [1x3 linearize.advisor.BlockDiagnostic]
           QueryType: 'Linearization Advice'

Входные аргументы

свернуть все

Диагностическая информация для блочных линеаризаций, указанная как LinearizationAdvisor объект или массив LinearizationAdvisor объекты.

Выходные аргументы

свернуть все

Диагностическая информация для потенциально проблемных блоков в результатах линеаризации, возвращенная как LinearizationAdvisor объект. result содержит диагностическую информацию о линеаризации для любых блоков в advisor которые находятся на пути линеаризации и удовлетворяют, по меньшей мере, одному из следующих критериев:

  • Наличие диагностических сообщений относительно линеаризации блоков

  • Линеаризация до нуля

  • Иметь замещенные линеаризации

Алгоритмы

Вызов advise эквивалентна выполнению следующего пользовательского запроса с помощью find функция:

qPath     = linqueryIsOnPath;
qZero     = linqueryIsZero;
qBlkRep   = linqueryIsBlockSubstituted;
qDiags    = linqueryHasDiagnostics;
  
q = qPath & (qZero | qDiags | qBlkRep);
 
advisor_new = find(advisor,q);
Представлен в R2017b