В этом примере показано, как использовать Уменьшать задачу Порядка Модели в Live Editor сгенерировать код для выполнения снижения сложности модели сбалансированным усечением, выбором режима и нулевым полюсом упрощением. Уменьшать задача Порядка Модели позволяет вам в интерактивном режиме вычислить приближения уменьшаемого порядка старших моделей при сохранении характеристик модели, которые важны для приложения.
Откройте этот пример, чтобы видеть, что предварительно сконфигурированный скрипт содержит Уменьшать задачу Порядка Модели. Для получения дополнительной информации о задачах Live Editor обычно, смотрите, Добавляют Интерактивные Задачи к Live Script (MATLAB).
В Live Editor загрузите модель, которую вы хотите уменьшать в рабочую область MATLAB®.
load build G size(G)
State-space model with 1 outputs, 1 inputs, and 48 states.
Модель LTI G
модель в пространстве состояний с 48 состояниями. Вы отбрасываете некоторые из этих состояний при сохранении соответствующей динамики. Чтобы экспериментировать с сокращением модели, откройте Уменьшать Live Editor Порядка Модели задача. На вкладке Live Editor выберите Task> Reduce Model Order. Это действие вставляет задачу в ваш скрипт.
Сбалансированное усечение вычисляет приближение более низкоуровневое вашей модели путем удаления состояний с относительно маленькими энергетическими вкладами. Для получения дополнительной информации о сбалансированном усечении, смотрите Сбалансированное Снижение сложности модели Усечения.
Чтобы сгенерировать код для сбалансированного усечения в Уменьшать задаче Порядка Модели, в выбирают G
как модель, чтобы уменьшать. Задайте Balanced Truncation
как Метод.
Задайте целевой Уменьшаемый Порядок упрощенной модели. Можно использовать график сингулярного значения Ганкеля помочь выбрать целевой порядок. Этот график визуализирует относительный энергетический вклад каждого состояния в исходной модели. Задача отбрасывает состояния с более низкой энергией, чем состояние, которое вы выбираете в этом графике.
График отклика показывает Диаграмму Боде исходной модели и модели уменьшаемого порядка. Экспериментируйте с различными моделями уменьшаемого порядка путем выбора различных порядков на график сингулярного значения Ганкеля, использования графика отклика, чтобы наблюдать, как модель уменьшаемого порядка изменяется. (Чтобы видеть абсолютную или относительную погрешность между исходной и упрощенной моделью, используйте меню Model Response.)
Выберите наименьший порядок модели, который соответственно сохраняет движущие силы, которые важны для вашего приложения. Если вы только интересуетесь динамикой в определенном частотном диапазоне, можно ограничить расчет энергетических вкладов в ту область значений. Чтобы сделать, выберите Frequency Range. Затем введите минимальные и максимальные частоты или укажите диапазон с помощью вертикальных ползунков на графике отклика. (Выбор Frequency Range очищает опцию Усиления DC Заповедника, потому что 0 рад/с не в частотном диапазоне по умолчанию.)
Задача генерирует код, чтобы вычислить заданную упрощенную модель. Чтобы видеть сгенерированный код, щелкните в нижней части задачи. Задача расширяется, чтобы показать сгенерированный код. Для сбалансированного усечения Уменьшайте использование Порядка Модели balred
с опциями, заданными balredOptions
. (Чтобы включать код, который производит график отклика в меню Output Plot, выбирают ответ, который вы хотите.)
По умолчанию сгенерированный код использует sysReduced
как имя выходной переменной. Чтобы задать различное имя выходной переменной, введите новое имя в итоговой линии во главе задачи.
Задача обновляет сгенерированный код, чтобы отразить новую переменную, и модель в пространстве состояний уменьшаемого порядка появляется в рабочей области MATLAB® с новым именем.
Можно использовать модель уменьшаемого порядка в рабочем пространстве MATLAB таким же образом, вы используете любую другую модель LTI в анализе и системе управления. В данном примере сравните ответы упрощенной модели на модель уменьшаемого порядка, созданную с помощью различного метода снижения сложности модели, выбора режима. Выбор режима уменьшает модель путем отбрасывания движущих сил, которые выходят за пределы области частоты, которую вы задаете.
Поменяйте имя выходной переменной к G_mr
таким образом, вы не перезаписываете модель, вы создали сбалансированное усечение использования. Затем установите метод сокращения на Mode Selection
. Используйте вертикальные ползунки на графике выбрать частотный диапазон, в котором можно сохранить динамику или ввести частотный диапазон в Частоту среза.
Для выбора режима Уменьшайте Порядок Модели, генерирует код, который использует freqsep
. Можно наблюдать, какие полюса и обнуляет, устраняются из модели уменьшаемого порядка путем добавления нулевого полюсом графика. Для этого в меню Output Plot, выберите Pole-Zero
. Этот выбор генерирует график, который показывает полюса и нули и исходной и упрощенной модели. Это также добавляет код для создания того графика к сгенерированному коду.
Нулевое полюсом упрощение уменьшает порядок вашей модели точно путем отмены нулевых полюсом пар или устранения состояний, которые не оказывают влияния на полный ответ модели. Нулевые полюсом пары могут быть введены, например, когда вы создаете архитектуру с обратной связью. Нормальные небольшие ошибки, сопоставленные с численным расчетом, могут преобразовать такие пары отмены в почти отмену пар. Удаление этих состояний сохраняет характеристики ответа модели при упрощении анализа и системы управления.
Нулевой полюсом метод Упрощения Уменьшает Порядок Модели, автоматически устраняет:
Отмена или почти отмена нулевых полюсом пар от передаточных функций
Неразличимые или неконтролируемые состояния от моделей в пространстве состояний
Состояния, которые структурно отключаются от вводов или выводов
Поменяйте имя выходной переменной к G_pz
таким образом, вы не перезаписываете модель, вы создали использование других методов. Затем установите метод сокращения на Pole-Zero Simplification
. Используйте параметр Допуска, чтобы настроить, как близко к отмене нулевых полюсом пар должен быть должен быть устраненным. Переместите ползунок к Больше, чтобы отменить больше нулевых полюсом пар, уменьшая модель до меньшего порядка. В Выходном Графике выберите Pole-Zero
и используйте график наблюдать, какие полюса и нули устраняются из упрощенной модели.
Уменьшать задача Порядка Модели создает модели уменьшаемого порядка в рабочем пространстве MATLAB автоматически. Можно использовать модели в последующем анализе или системе управления таким же образом, вы используете любую другую модель LTI. Например, сравните частотные характеристики оригинала и всех моделей уменьшаемого порядка на одном графике.
bode(G,G_bt,G_mr,G_pz,{0.1,1000}) legend