exponenta event banner

linqueryContributesToLinearization

Запрос объекта для поиска блоков, которые вносят вклад в результат линеаризации модели

Описание

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

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

Создание

Описание

пример

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

Свойства

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

Тип запроса, указанный как 'Contributes to Linearization'.

Описание запроса, указанное как 'Blocks that Contribute to the Model Linearization'. С помощью этого свойства можно добавить собственное описание к объекту запроса.

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

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

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

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

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

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;

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

qContribute = linqueryContributesToLinearization;
advContribute = find(advisor,qContribute)
advContribute = 
  LinearizationAdvisor with properties:

               Model: 'scdspeed'
      OperatingPoint: [1x1 opcond.OperatingPoint]
    BlockDiagnostics: [1x22 linearize.advisor.BlockDiagnostic]
           QueryType: 'Contributes to Linearization'

Чтобы найти блоки, которые не вносят вклад в результат линеаризации, используйте тот же объект запроса с NOT (~) логический оператор.

advNoContribute = find(advisor,~qContribute)
advNoContribute = 
  LinearizationAdvisor with properties:

               Model: 'scdspeed'
      OperatingPoint: [1x1 opcond.OperatingPoint]
    BlockDiagnostics: [1x5 linearize.advisor.BlockDiagnostic]
           QueryType: '~(Contributes to Linearization)'

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

Приложение

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

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