Model Reducer

Уменьшите сложность линейных инвариантных по времени моделей (LTI)

Описание

Приложение Model Reducer позволяет вам вычислять приближения высокого порядка моделей. Работа с моделями более низкого порядка может упростить анализ и систему управления. Более простые модели также легче понять и манипулировать. Можно уменьшить модель объекта управления, чтобы сосредоточиться на релевантной динамике перед разработкой контроллера для объекта управления. Или можно использовать снижение сложности модели, чтобы упростить контроллер полного порядка.

Используя любой из следующих методов, Model Reducer помогает вам уменьшить порядок модели при сохранении характеристик модели, важных для вашего приложения:

  • Сбалансированное усечение - Удалите состояния с относительно небольшими энергетическими вкладами.

  • Выбор режима - Выбор режимов путем определения интересующей области значений частот.

  • Упрощение полюса-нуля - устранение отменяющихся или почти отменяющихся пар полюса-нуля.

Model Reducer предоставляет графики отклика и графики ошибок, чтобы помочь гарантировать, что модель пониженного порядка сохраняет важную динамику. Для получения дополнительной информации о снижении сложности модели и о том, почему это полезно, смотрите Основы снижения сложности модели.

Для альтернативы приложению Model Reducer, которое позволяет вам в интерактивном режиме выполнить снижение сложности модели и сгенерировать код для live скрипта, смотрите задачу Reduce Model Order в Live Editor.

Model Reducer app

Откройте приложение Model Reducer

  • MATLAB® Панель инструментов: На вкладке Apps, в разделе Control System Design and Analysis, нажмите значок приложения.

  • Командная строка MATLAB: Ввод modelReducer.

Параметры

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

Укажите модель, которую вы хотите уменьшить, выбрав из выпадающего списка Model. Список включает все модели, находящиеся в данный момент в Data Browser. Чтобы получить модель из рабочего пространства MATLAB в Data Browser, на вкладке Model Reducer нажмите Import Model. Можно импортировать любой:

  • tf, ss, или zpk модель, которая является правильной. Модель может быть SISO или MIMO, и непрерывной или дискретной.

    • Модели в непрерывном времени не должны иметь временных задержек. Чтобы уменьшить модель в непрерывном времени с задержками времени, сначала используйте pade для аппроксимации временных задержек в качестве динамики модели.

    • Модели в дискретном времени могут иметь задержки времени. Для метода сокращения сбалансированного усечения приложение использует absorbDelay преобразовать задержку в полюса в z = 0 перед уменьшением модели. Дополнительные состояния отражены на графике отклика и графике сингулярного значения Ханкеля.

  • Обобщенная модель, такая как a genss модель. Приложение Model Reducer использует текущее или номинальное значение всех блоков системы управления в model (см. getValue).

Примечание

Model Reducer принимает, что модуль измерения времени модели (заданная в TimeUnit свойство модели) - секунды. Если ваша модель не имеет TimeUnit = 'seconds', использование chgTimeUnit для преобразования модели в секунды.

Задайте количество состояний в модели пониженного порядка. Разрешено любое значение, которое находится между количеством нестабильных состояний в модели и количеством состояний в исходной модели. Если вы задаете одно значение, Model Reducer вычисляет и отображает ответы модели этого порядка. Если вы задаете несколько значений, Model Reducer вычисляет модели всех заданных порядков и отображает их отклики на одном графике. Чтобы хранить уменьшенные модели в Data Browser, нажмите.

Для получения дополнительной информации смотрите Снижение сложности модели Сбалансированного усечения.

Пример: 5

Пример: 4:7

Пример: [3,7,10]

Можно выбрать между абсолютной и относительными погрешностями, выбрав соответствующую опцию в Error Bound. Установка значения absolute управляет абсолютной ошибкой GGr при этом устанавливая его на relative управляет относительная погрешность G1(GGr). Относительная погрешность дает лучшее соответствие между частотой, в то время как абсолютная ошибка подчеркивает области с большинством усиления.

Для получения дополнительной информации смотрите Снижение сложности модели Сбалансированного усечения.

Когда Preserve DC Gain проверяется, усиление постоянного тока уменьшенной модели равняется усилению постоянного тока исходной модели. Когда поведение модели постоянного тока важно в вашем приложении, оставьте эту опцию проверенной. Снимите флажок с опции, чтобы лучше соответствовать поведению с более высокой частотой.

Для получения дополнительной информации смотрите Снижение сложности модели Сбалансированного усечения.

По умолчанию Model Reducer анализирует сингулярные значения Ханкеля на всех частотах. Ограничение этого анализа определенной частотной области значений полезно, когда вы знаете, что модель имеет режимы вне необходимой области к вашему конкретному приложению. Когда вы применяете предел частоты, Model Reducer определяет, какие состояния являются малоэнергетическими состояниями, чтобы обрезать, на основе их энергетического вклада только в заданную частотную область значений. Focus on range доступна только, когда Error Bound установлено на absolute.

Чтобы ограничить анализ вкладов состояния в конкретную частотную область значений, проверяйте Focus on range. Затем перетащите вертикальные курсоры на графике отклика, чтобы задать интересующие области значений частоты. Кроме того, введите частотную область значений в текстовое поле в качестве вектора формы [fmin,fmax]. Модули rad/TimeUnit, где TimeUnit является TimeUnit свойство модели, которую вы сокращаете.

Вкладка Выбор режима

Укажите модель, которую вы хотите уменьшить, выбрав из выпадающего списка Model. Список включает все модели, находящиеся в данный момент в Data Browser. Чтобы получить модель из рабочего пространства MATLAB в Data Browser, на вкладке Model Reducer нажмите Import Model. Можно импортировать любой:

  • tf, ss, или zpk модель, которая является правильной. Модель может быть SISO или MIMO, и непрерывной или дискретной.

    • Модели в непрерывном времени не должны иметь временных задержек. Чтобы уменьшить модель в непрерывном времени с задержками времени, сначала используйте pade для аппроксимации временных задержек в качестве динамики модели.

    • Модели в дискретном времени могут иметь задержки времени. Для метода сокращения сбалансированного усечения приложение использует absorbDelay преобразовать задержку в полюса в z = 0 перед уменьшением модели. Дополнительные состояния отражены на графике отклика и графике сингулярного значения Ханкеля.

  • Обобщенная модель, такая как a genss модель. Приложение Model Reducer использует текущее или номинальное значение всех блоков системы управления в model (см. getValue).

Для получения дополнительной информации смотрите Снижение сложности модели Mode-Selection.

Примечание

Reduce Model Order принимает, что модуль измерения времени модели (заданная в TimeUnit свойство модели) - секунды. Если ваша модель не имеет TimeUnit = 'seconds', использование chgTimeUnit для преобразования модели в секунды.

Введите частоту самой медленной динамики для сохранения в уменьшенной модели. Полюса с естественной частотой ниже этой границы исключаются из уменьшенной модели.

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

Вкладка упрощения полюса/нуля

Укажите модель, которую вы хотите уменьшить, выбрав из выпадающего списка Model. Список включает все модели, находящиеся в данный момент в Data Browser. Чтобы получить модель из рабочего пространства MATLAB в Data Browser, на вкладке Model Reducer нажмите Import Model. Можно импортировать любой:

  • tf, ss, или zpk модель, которая является правильной. Модель может быть SISO или MIMO, и непрерывной или дискретной.

    • Модели в непрерывном времени не должны иметь временных задержек. Чтобы уменьшить модель в непрерывном времени с задержками времени, сначала используйте pade для аппроксимации временных задержек в качестве динамики модели.

    • Модели в дискретном времени могут иметь задержки времени. Для метода сокращения сбалансированного усечения приложение использует absorbDelay преобразовать задержку в полюса в z = 0 перед уменьшением модели. Дополнительные состояния отражены на графике отклика и графике сингулярного значения Ханкеля.

  • Обобщенная модель, такая как a genss модель. Приложение Model Reducer использует текущее или номинальное значение всех блоков системы управления в model (см. getValue).

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

Для получения дополнительной информации см. «Упрощение полюса - ноль».

Программное использование

расширить все

modelReducer открывает приложение Model Reducer без моделей в Data Browser. Чтобы импортировать модель из рабочего пространства MATLAB, нажмите Import Model.

modelReducer(model) открывает приложение и импортирует указанную модель LTI. model может быть:

  • tf, ss, или zpk модель, которая является правильной. Модель может быть SISO или MIMO, и непрерывной или дискретной.

    • Модели в непрерывном времени не должны иметь временных задержек. Чтобы уменьшить модель в непрерывном времени с задержками времени, сначала используйте pade для аппроксимации временных задержек в качестве динамики модели.

    • Модели в дискретном времени могут иметь задержки времени. Для метода сокращения сбалансированного усечения приложение использует absorbDelay преобразовать задержку в полюса в z = 0 перед уменьшением модели. Дополнительные состояния отражены на графике отклика и графике сингулярного значения Ханкеля.

  • Обобщенная модель, такая как a genss модель. Приложение Model Reducer использует текущее или номинальное значение всех блоков системы управления в model (см. getValue).

modelReducer(model1,...,modelN) открывает приложение и импортирует указанные модели.

modelReducer(sessionFile) открывает приложение и загружает ранее сохраненный сеанс. sessionFile - имя файла данных сеанса в текущей рабочей директории или по пути MATLAB.

Чтобы сохранить данные сеансы на диск, в приложении Model Reducer, на вкладке Model Reducer, нажмите Save Session. Сохранённые данные сеансы включают текущее строение графика и все модели в Data Browser.

См. также

Функции

Задачи Live Editor

Введенный в R2016a