exponenta event banner

linqueryHasOrder

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

Описание

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

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

Создание

Описание

пример

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'

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

Приложение

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

Представлен в R2017b