linqueryAdvise

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

Описание

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

Когда вы линеаризируете Simulink® модель, можно создать LinearizationAdvisor объект, содержащий диагностическую информацию об отдельных линеаризациях блоков. Чтобы найти линеаризации блоков, которые удовлетворяют определенным критериям, можно использовать find функция с пользовательскими объектами запросов. Также можно проанализировать диагностику линеаризации с помощью Linearization Advisor в 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