linqueryHasInputs

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

Описание

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

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

Создание

Описание

пример

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

Свойства

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

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

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

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

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

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

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

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

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

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;

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

qIn = linqueryHasInputs(2);
advIn = find(advisor,qIn)
advIn = 
  LinearizationAdvisor with properties:

               Model: 'scdspeed'
      OperatingPoint: [1x1 opcond.OperatingPoint]
    BlockDiagnostics: [1x13 linearize.advisor.BlockDiagnostic]
           QueryType: 'Has 2 Inputs'

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