linqueryAdvise

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

Описание

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

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

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

Создание

Синтаксис

query = linqueryAdvise

Описание

пример

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);

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

Приложение

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

Введенный в R2017b