linqueryAdvise

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

Описание

linqueryAdvise создает объект пользовательского запроса для нахождения блоков в результате линеаризации, которые потенциально проблематичны для линеаризации.

Когда вы линеаризуете модель Simulink®, можно создать LinearizationAdvisor объект, который содержит диагностическую информацию об отдельной линеаризации блока. Чтобы найти линеаризацию блока, которая удовлетворяет определенным критериям, можно использовать find функция с объектами пользовательского запроса. В качестве альтернативы можно анализировать диагностику линеаризации с помощью Советника по вопросам Линеаризации в Model Linearizer. Для получения дополнительной информации о нахождении определенных блоков в результатах линеаризации смотрите, Находят Блоки в Результатах Линеаризации, Совпадающих с Определенными Критериями.

Используя find функция с linqueryAdvise объект эквивалентен использованию advise функция.

Создание

Синтаксис

Описание

пример

query = linqueryAdvise создает объект запроса для нахождения всех блоков в LinearizationAdvisor объект, которые потенциально проблематичны для линеаризации.

Свойства

развернуть все

Тип запроса в виде 'Linearization Advice'.

Запросите описание в виде 'Blocks that are Potentially Problematic for Linearization'. Можно добавить собственное описание в объект запроса, использующий это свойство.

Использование

После создания linqueryAdvise запросите объект, вы можете:

  • Найдите все блоки в LinearizationAdvisor объект, которые потенциально проблематичны для линеаризации при помощи linqueryAdvise запросите непосредственно с find команда.

  • Создайте CompoundQuery объект путем логического объединения linqueryAdvise запросите с другими объектами запроса.

Функции объекта

findНайдите блоки в результатах линеаризации, которые совпадают с определенными критериями

Примеры

свернуть все

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

mdl = 'scdpendulum';
load_system(mdl)

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

opts = linearizeOptions('StoreAdvisor',true);
io = getlinio(mdl);
[sys,op,info] = linearize(mdl,io,opts);
advisor = info.Advisor;

Создайте объект запроса и найдите все линеаризовавшие блоки, которые имеют потенциально проблематичную линеаризацию.

qAdvise = linqueryAdvise;
advAdvise = find(advisor,qAdvise)
advAdvise = 
  LinearizationAdvisor with properties:

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

Алгоритмы

Создание linqueryAdvise объект эквивалентен созданию следующего пользовательского запроса:

qPath     = linqueryIsOnPath;
qZero     = linqueryIsZero;
qBlkRep   = linqueryIsBlockSubstituted;
qDiags    = linqueryHasDiagnostics;
  
q = qPath & (qZero | qDiags | qBlkRep);
 
advisor_new = find(advisor,q);

Альтернативная функциональность

Приложение

Можно также создать пользовательские запросы для нахождения определенных блоков в результатах линеаризации с помощью Советника по вопросам Линеаризации в Model Linearizer. Для получения дополнительной информации смотрите, Находят Блоки в Результатах Линеаризации, Совпадающих с Определенными Критериями.

Введенный в R2017b