linqueryHasOutputs

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

Описание

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

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

Создание

Описание

пример

query = linqueryHasOutputs(numOutputs) создает объект запроса для нахождения всех блоков в LinearizationAdvisor объект, которые имеют конкретное количество выходных параметров. Этот синтаксис устанавливает NumOutputs свойство объекта запроса.

Свойства

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

Количество блока выходные параметры в виде неотрицательного целого числа.

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

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

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

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

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

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

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

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;

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

qOut = linqueryHasOutputs(2);
advOut = find(advisor,qOut)
advOut = 
  LinearizationAdvisor with properties:

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

Загрузите модель 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;

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

qSISO = linqueryHasInputs(1) & linqueryHasOutputs(1);

Найдите все блоки SISO с помощью составного объекта запроса.

advSISO = find(advisor,qSISO)
advSISO = 
  LinearizationAdvisor with properties:

               Model: 'scdspeed'
      OperatingPoint: [1x1 opcond.OperatingPoint]
    BlockDiagnostics: [1x10 linearize.advisor.BlockDiagnostic]
           QueryType: '(Has 1 Inputs & Has 1 Outputs)'

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

Приложение

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

Введенный в R2017b