linqueryHasOutputs

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

Описание

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

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

Создание

Синтаксис

query = linqueryHasOutputs(numOutputs)

Описание

пример

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)'

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

Приложение

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

Введенный в R2017b