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

Когда вы линеаризируете Simulink® модель, можно найти блоки в результате линеаризации, которые соответствуют определенным критериям с помощью Linearization Advisor. Можно задать критерии поиска для поиска блоков, которые могут:

  • Потенциально вызывают проблемы линеаризации в модели, если ваша модель не линеаризируется должным образом. Для получения дополнительной информации об идентификации и устранении проблем линеаризации с помощью Linearization Advisor, смотрите Идентифицируйте и Устраните общие проблемы линеаризации.

  • Помогают вам получить представление о линеаризации модели, даже если модель линеаризировалась должным образом.

Вы также можете запросить Linearization Advisor в командной строке, используя find функция. Для получения примера смотрите Поиск и устранение проблем с результатами линеаризации в командной строке.

Поиск результатов линеаризации требует диагностической информации линеаризации. Чтобы собрать эту информацию, необходимо включить Linearization Advisor перед линеаризацией модели.

Чтобы включить советник по линеаризации, в Model Linearizer, на вкладке Linear Analysis, выберите Linearization Advisor.

Когда вы выбираете эту опцию и линеаризируете модель, программное обеспечение открывает вкладку Advisor для поиска и устранения проблем с результатами линеаризации. Затем можно найти интересующие блоки в результатах линеаризации, запустив запросы с помощью Linearization Advisor.

После нахождения интересующих блоков можно изучить отдельные линеаризации блоков с помощью диагностической информации линеаризации. Для получения дополнительной информации см. раздел «Поиск и устранение проблем линеаризации блоков».

Запуск встроенных запросов

Linearization Advisor предоставляет набор встроенных запросов для поиска результатов линеаризации. Эти запросы полезны для нахождения блоков, которые потенциально вызывают проблемы линеаризации. Чтобы запустить один из этих запросов, на вкладке Advisor, в разделе Queries, щелкните запрос.

Встроенный запросНайти блоки, которые...
Linearization AdviceПотенциально проблематичны для линеаризации. Этот запрос выполняется по умолчанию при открытии вкладки Advisor.
Diagnostics on PathНаходятся на пути линеаризации и имеют диагностические сообщения относительно их линеаризации. Этот запрос является подмножеством Linearization Advice запрос.
Substitutions on PathНаходятся на пути линеаризации и имеют пользовательский блок заданную линеаризацию. Этот запрос является подмножеством Linearization Advice запрос.
Zero I/O Pair on PathНаходятся на пути линеаризации и имеют, по крайней мере, одну пару вход/выход, которая линеаризируется в нуль.
All Blocks on PathНаходятся на пути линеаризации; то есть блоки, где, по меньшей мере, один вход линеаризации соединен, по меньшей мере, с одним выходом линеаризации через блок.

Создание и выполнение запросов

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

Простой запросНайти блоки, которые...
All BlocksНаходятся в линеаризированной модели.
Linearized to ZeroЛинеаризируйте в нуль.
Block SubstitutedУказание пользовательского блока линеаризации.
On Linearization PathНаходятся на пути линеаризации.
Contributes to LinearizationЧисленно вносит вклад в результат линеаризации модели.
ExactЛинеаризируются с использованием определенной точной линеаризации.
PerturbationЛинеаризируются с помощью численного возмущения.
Has DiagnosticsИметь диагностические сообщения относительно их линеаризации.
'BlockType' BlocksИмеют заданный тип.
Has 'Nu' InputsИметь заданное количество входов.
Has 'Nx' StatesИметь заданное количество состояний.
Has 'Ny' OutputsИметь заданное количество выходов.
Has 'Ts' Sample TimeИметь указанный шаг расчета.
Has Zero I/O PairИметь по крайней мере одну пару вход/выход, которая линеаризируется в нуль.

Чтобы запустить простой запрос, в Model Linearizer, на вкладке Advisor, нажмите New Query.

В диалоговом окне Query Builder сконфигурируйте запрос. Например, создайте запрос для поиска всех блоков, которые численно способствуют результату линеаризации.

  1. В поле Query Name укажите имя запроса следующим Contributes.

  2. В раскрывающемся списке выберите Contributes to Linearization.

  3. Если вы выбираете любой из следующих запросов, задайте соответствующий параметр поиска.

    ВопросПараметр поиска
    'BlockType' BlocksBlock Type - Этот параметр соответствует blocktype свойство блока. Для получения дополнительной информации смотрите linqueryIsBlockType.
    Has 'Nu' InputsInputs - Задайте положительное целое число.
    Has 'Nx' StatesStates - Задайте положительное целое число.
    Has 'Ny' OutputsOutputs - Задайте положительное целое число.
    Has 'Ts' Sample TimeSample Time - Задайте ненулевой скаляр. Чтобы найти блоки в непрерывном времени, задайте 0.
  4. Чтобы создать и запустить запрос, нажмите Run Query. Программа запускает запрос и на вкладке Advisor отображает список блоков, которые способствуют линеаризации модели.

    Запрос добавляется в раздел Queries.

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

Чтобы создать составной запрос, в диалоговом окне Query Builder сконфигурируйте запрос с использованием нескольких критериев поиска. Например, создайте запрос, чтобы найти все блоки в дискретном времени, которые находятся в пути линеаризации.

  1. В поле Query Name укажите имя запроса следующим Discrete on Path.

  2. Чтобы найти блоки на пути линеаризации, в раскрывающемся списке выберите On Linearization Path.

  3. Чтобы добавить другой критерий поиска, нажмите кнопку Add to Query. Программа добавляет вторую строку к критериям поиска. По умолчанию критерии поиска объединяются с помощью операции And.

  4. Чтобы найти блоки в дискретном времени, сначала добавьте критерий поиска, чтобы найти блоки в непрерывном времени. Во второй строке в раскрывающемся списке выберите Has 'Ts' Sample Time. Сохраните Sample Time по умолчанию 0.

  5. Чтобы найти блоки в дискретном времени, во второй строке выберите Not.

  6. Нажмите Run Query.

Каждый раз, когда вы создаете пользовательский запрос, программное обеспечение добавляет его в раскрывающийся список критериев поиска в диалоговом окне Query Builder. Затем можно использовать пользовательские запросы для создания более сложных запросов. Например, чтобы найти блоки в дискретном времени на пути линеаризации, которые линеаризируются с помощью численного возмущения, создайте запрос, который объединяет Discrete on Path пользовательский запрос с Perturbed простой запрос с использованием операции And.

См. также

Приложения

Функции

Похожие темы