exponenta event banner

linqueryHasSampleTime

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

Описание

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

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

Создание

Описание

пример

query = linqueryHasSampleTime(ts) создает объект запроса для поиска всех блоков в LinearizationAdvisor объект, который имеет время выборки ts. Этот синтаксис задает Ts свойства объекта запроса.

Свойства

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

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

Чтобы найти блоки непрерывного времени, укажите Ts как 0.

Тип запроса, указанный как символьный вектор формы 'Has <T> Sample Time', где <T> равно Ts.

Описание запроса, указанное как символьный вектор формы 'Blocks with <T> Sample Time', где <T> равно Ts. С помощью этого свойства можно добавить собственное описание к объекту запроса.

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

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

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

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

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

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

Примеры

свернуть все

Загрузите модель Simulink.

mdl = 'scdmrate';
load_system(mdl)

Линеаризация модели и получение LinearizationAdvisor объект.

opts = linearizeOptions('StoreAdvisor',true);
io(1) = linio('scdmrate/Constant',1,'input');
io(2) = linio('scdmrate/sysTs2',1,'openoutput');
[linsys,linop,info] = linearize(mdl,io,opts);
advisor = info.Advisor;

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

qTs = linqueryHasSampleTime(0.01);
advTs = find(advisor,qTs)
advTs = 
  LinearizationAdvisor with properties:

               Model: 'scdmrate'
      OperatingPoint: [1x1 opcond.OperatingPoint]
    BlockDiagnostics: [1x1 linearize.advisor.BlockDiagnostic]
           QueryType: 'Has 0.01 Sample Time'

Загрузите модель Simulink.

mdl = 'scdmrate';
load_system(mdl)

Линеаризация модели и получение LinearizationAdvisor объект.

opts = linearizeOptions('StoreAdvisor',true);
io = getlinio(mdl);
[sys,op,info] = linearize(mdl,io,opts);
advisor = info.Advisor;

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

qCont = linqueryHasSampleTime(0);
advCont = find(advisor,qCont)
advCont = 
  LinearizationAdvisor with properties:

               Model: 'scdmrate'
      OperatingPoint: [1x1 opcond.OperatingPoint]
    BlockDiagnostics: [1x5 linearize.advisor.BlockDiagnostic]
           QueryType: 'Has 0 Sample Time'

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

Приложение

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

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