linqueryHasOrder

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

Описание

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

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

Создание

Описание

пример

query = linqueryHasOrder(numStates) создает объект запроса для поиска всех блоков в LinearizationAdvisor объект с заданным количеством состояний. Этот синтаксис устанавливает NumStates свойство объекта запроса.

Свойства

расширить все

Количество состояний блока, заданное как неотрицательное целое число.

Тип запроса, заданный как вектор символов формы 'Has <N> States', где <N> равно NumStates.

Описание запроса, заданное как вектор символов формы 'Blocks with <N> States, где <N> равно NumStates. Вы можете добавить собственное описание к объекту запроса с помощью этого свойства.

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

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

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

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

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

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

Примеры

свернуть все

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

mdl = 'scdspeed';
load_system(mdl)

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

opts = linearizeOptions('StoreAdvisor',true);
io(1) = linio('scdspeed/throttle (degrees)',1,'input');
io(2) = linio('scdspeed/rad//s to rpm',1,'output');
[sys,op,info] = linearize(mdl,io,opts);
advisor = info.Advisor;

Создайте объект запроса и найдите все линеаризированные блоки с двумя состояниями.

qOrder = linqueryHasOrder(2);
advOrder = find(advisor,qOrder)
advOrder = 
  LinearizationAdvisor with properties:

               Model: 'scdspeed'
      OperatingPoint: [1x1 opcond.OperatingPoint]
    BlockDiagnostics: [1x1 linearize.advisor.BlockDiagnostic]
           QueryType: 'Has 2 States'

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

Приложение

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

Введенный в R2017b