linqueryIsBlockType

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

Описание

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

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

Создание

Описание

пример

query = linqueryIsBlockType(Type) создает объект запроса для нахождения всех блоков в LinearizationAdvisor объект, которые имеют тип Type.

Входные параметры

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

Тип блока в виде вектора символов или строки. Чтобы задать тип блока, используйте соответствующий blocktype параметр блока. Получить blocktype параметр для в настоящее время выбранного блока в модели Simulink, в командной строке MATLAB®, вводит:

get_param(gcb,'blocktype')

Кроме того, чтобы найти:

  • Блоки MATLAB Function, задайте Type как 'matlab function'.

  • Диаграммы Stateflow, задайте Type как 'chart'.

  • Сети Simscape, задайте Type как 'simscape'. LinearizationAdvisor объект не предоставляет диагностическую информацию на основе уровня компонента для сетей Simscape™. Вместо этого это собирает в группу диагностическую информацию для нескольких компонентов Simscape, соединенных с одним блоком Solver Configuration.

Свойства

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

Тип запроса в виде вектора символов формы '<type> Blocks', где <type> равно тип блока, заданный в Type.

Запросите описание в виде вектора символов формы 'Blocks with <type> Block types', где <type> равно Type. Можно добавить собственное описание в объект запроса, использующий это свойство.

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

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

  • Найдите все блоки заданного типа в LinearizationAdvisor объект при помощи linqueryIsBlockType запросите непосредственно с find команда.

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

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

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;

Создайте объект запроса и найдите все блоки интегратора.

qInteg = linqueryIsBlockType('Integrator');
advInteg = find(advisor,qInteg)
advInteg = 
  LinearizationAdvisor with properties:

               Model: 'scdspeed'
      OperatingPoint: [1x1 opcond.OperatingPoint]
    BlockDiagnostics: [1x2 linearize.advisor.BlockDiagnostic]
           QueryType: 'Integrator Blocks'

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

Приложение

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

Введенный в R2017b