exponenta event banner

Сокращение модели в интерактивном редакторе

В этом примере показано, как использовать задачу «Уменьшить порядок моделей» в интерактивном редакторе для создания кода для выполнения уменьшения модели путем сбалансированного усечения, выбора режима и упрощения полюсов и нулей. Задача Уменьшить порядок моделей (Reduce Model Order) позволяет интерактивно вычислять аппроксимации моделей высокого порядка с уменьшенным порядком при сохранении характеристик модели, важных для приложения.

Откройте этот пример для просмотра предварительно настроенного сценария, содержащего задачу «Уменьшить заказ модели». Дополнительные сведения о задачах Live Editor в целом см. в разделе Добавление интерактивных задач в сценарий Live.

В интерактивном редакторе загрузите модель, которую требуется уменьшить, в рабочую область MATLAB ® .

load build G
size(G)
State-space model with 1 outputs, 1 inputs, and 48 states.

Модель LTI G - модель состояния-пространства с 48 состояниями. Некоторые из этих состояний могут быть отброшены при сохранении соответствующей динамики. Чтобы поэкспериментировать с уменьшением модели, откройте задачу Уменьшить размер модели (Reduce Model Order Live Editor). На вкладке «Интерактивный редактор» выберите «Задача» > «Уменьшить порядок моделей».

Сбалансированное усечение

Сбалансированное усечение вычисляет аппроксимацию модели более низкого порядка, удаляя состояния с относительно небольшим количеством энергии. Дополнительные сведения о сбалансированном усечении см. в разделе Сокращение модели сбалансированного усечения.

Чтобы создать код для сбалансированного усечения в задаче Уменьшить заказ модели, выберите G как модель для уменьшения. Определить Balanced Truncation в качестве метода.

Укажите целевой сокращенный порядок уменьшенной модели. Для выбора целевого порядка можно использовать график сингулярного значения Hankel. Этот график визуализирует относительный вклад энергии каждого состояния в исходной модели. Задача отбрасывает состояния с меньшей энергией, чем состояние, выбранное на этом графике.

График ответа показывает график Боде исходной модели и модели с уменьшенным порядком. Экспериментируйте с различными моделями с уменьшенным порядком, выбирая различные порядки на графике сингулярного значения Ханкеля, используя график ответа для наблюдения за изменениями модели с уменьшенным порядком. (Чтобы увидеть абсолютную или относительную ошибку между исходной и уменьшенной моделью, используйте меню Ответ модели (Model Response).)

Выберите наименьший порядок моделей, который адекватно сохраняет динамику, важную для приложения. Если вы заинтересованы только в динамике в определенном диапазоне частот, вы можете ограничить вычисление вклада энергии в этом диапазоне. Для этого выберите «Диапазон частот». Затем введите минимальную и максимальную частоты или укажите диапазон с помощью вертикальных ползунков на графике отклика. (При выборе параметра «Диапазон частот» отменяется опция «Сохранить коэффициент усиления постоянного тока», так как 0 рад/с не входит в диапазон частот по умолчанию.)

Задача создает код для вычисления указанной уменьшенной модели. Чтобы просмотреть созданный код, щелкните в нижней части задания. Задача расширяется, чтобы показать созданный код. Для сбалансированного усечения используется функция «Уменьшить порядок моделей» balred с опциями, указанными balredOptions. (Чтобы включить код, который создает график ответа, в меню «График вывода» выберите нужный ответ.)

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

Задача обновляет созданный код, чтобы отразить новую переменную, и в рабочей области MATLAB ® появляется модель пространства с уменьшенным порядком с новым именем .

Выбор режима

Модель уменьшенного порядка можно использовать в рабочей области MATLAB, как и любую другую модель LTI для анализа и управления конструированием. Для этого примера сравните уменьшенные отклики модели с моделью уменьшенного порядка, созданной с использованием другого метода уменьшения модели, выбора режима. Выбор режима уменьшает модель, отбрасывая динамику, которая выходит за пределы указанной частотной области.

Измените имя выходной переменной на G_mr, чтобы не перезаписывать модель, созданную с помощью сбалансированного усечения. Затем установите метод сокращения в значение Mode Selection. Используйте вертикальные ползунки на графике, чтобы выбрать диапазон частот для сохранения динамики, или введите диапазон частот в поле «Частота отсечения».

Для выбора режима функция «Уменьшить заказ модели» генерирует код, который использует freqsep. Может быть полезно добавить график полюс-нуль, чтобы наблюдать, какие полюса и нули исключены из модели с уменьшенным порядком. Для этого в меню «Вывод на печать» выберите Pole-Zero. При выборе этой опции создается график, на котором отображаются полюса и нули исходной и уменьшенной модели. Он также добавляет код для создания этого графика к созданному коду.

Упрощение полюсов и нулей

Упрощение полюсов-нулей точно уменьшает порядок модели, отменяя пары полюсов-нулей или устраняя состояния, которые не влияют на общую реакцию модели. Пары полюс-ноль могут быть введены, например, при построении архитектур с замкнутым контуром. Обычные небольшие ошибки, связанные с численными вычислениями, могут преобразовывать такие пары отмены в пары почти отмены. Удаление этих состояний сохраняет характеристики реакции модели при одновременном упрощении конструкции анализа и управления.

Метод упрощения полюсов-нулей (Pole-Zero Simplification) команды Уменьшить порядок модели (Reduct Model Order) автоматически исключает:

  • Отмена или почти отмена пар полюс-ноль из передаточных функций

  • Ненаблюдаемые или неконтролируемые состояния из государственных моделей пространства

  • Состояния, которые структурно отключены от входов или выходов.

Измените имя выходной переменной на G_pz, чтобы не перезаписывать модель, созданную с помощью других методов. Затем установите метод сокращения в значение Pole-Zero Cancellation. Используйте параметр Допуск (Tolerance), чтобы отрегулировать близость к отмене пар полюс-ноль. Переместите ползунок в направлении Больше (More), чтобы отменить большее количество пар полюс-ноль, уменьшив модель до меньшего порядка. На выходном графике выберите Pole-Zero и используйте график для наблюдения за тем, какие полюса и нули исключены из уменьшенной модели.

Использовать модели уменьшенного порядка

Задача Уменьшить порядок моделей автоматически создает модели уменьшенного порядка в рабочей области MATLAB. Эти модели можно использовать для дальнейшего анализа или управления конструкцией, как и любую другую модель LTI. Например, сравните частотные характеристики исходной и всех моделей с уменьшенным порядком на одном графике.

bode(G,G_bt,G_mr,G_pz,{0.1,1000})
legend

См. также

Приложения

Задачи интерактивного редактора

Функции

Связанные темы