Когда у вас есть Simulink® Control Design™ управления, можно вычислить неопределенную линеаризацию, т.е. модель неопределенного пространства состояний (uss
) объединение неопределенных переменных с линеаризированной динамикой. Используйте uss
модель для выполнения линейного анализа и разработки устойчивых систем управления.
Вычислить неопределенную линеаризацию можно одним из следующих способов:
Использование ulinearize
команда, как описано в «Получении модели пространства неопределенных состояний из модели Simulink».
Использование Simulink Control Design
linearize
(Simulink Control Design), как описано в разделе «Задайте неопределенную линеаризацию для блоков Core или Custom Simulink».
Чтобы получить модель неопределенного пространства состояний из модели, которая содержит блоки Uncertain State Space, выполните следующие шаги:
Примечание
Если у вас нет Uncertain State Space блоков в модели, но все еще хочется получить модель неопределенного пространства состояний, см. «Задание неопределенной линеаризации для ядра» или «Пользовательские блоки Simulink».
(Необходимое условие) Создать или открыть модель Simulink.
(Необходимое условие) В модели Simulink задайте входную и выходные точки линеаризации с помощью Simulink Control Design
getlinio или
linio
команды. Для получения дополнительной информации смотрите Задать фрагмент модели для линеаризации (Simulink Control Design).
(Необходимое условие) Если вы еще не сделали этого, задайте неопределенность в модели Simulink, как описано в разделе «Задайте неопределенность, используя блоки пространства неопределенных состояний».
Примечание
Программа не оценивает неопределенные переменные во время линеаризации. Таким образом, значение неопределенности не влияет на линеаризацию.
Управляемый ulinearize
для вычисления неопределенной линеаризации. Эта команда возвращает uss
модель.
Примечание
Если вы используете Simulink Control Design
linearize
(Simulink Control Design), блоки Uncertain State Space линеаризируются до номинального значения.
Для получения дополнительной информации о линеаризации и том, как оценить результаты, см. «Основы линеаризации» (Simulink Control Design).
Пример использования Simulink Control Design
linearize
(Simulink Control Design), см. «Линеаризация моделей Simulink с неопределенностью».
В некоторых случаях вы не можете использовать блоки Uncertain State Space в модели Simulink, потому что вы разделяете модель или генерируете код. Вы по-прежнему можете учитывать неопределенность в своем линейном анализе, не задавая неопределенность с помощью блоков Uncertain State Space. Robust Control Toolbox™ позволяет вам задать ядро или пользовательский блок Simulink для линеаризации с неопределенной переменной. Линеаризация создает неопределенное пространство состояний uss
модель. Заданная неопределенность связывается только с блоком и не влияет на симуляцию модели. Для получения дополнительной информации смотрите Задать Линейную Систему для Линеаризации Блоков Используя Выражение MATLAB (Simulink Control Design).
Примечание
Если у вас есть Uncertain State Space блоков в модели и вы хотите получить модель неопределенного пространства состояний, см. «Получение модели неопределенного пространства состояний из модели Simulink».
Чтобы задать блоки для линеаризации в неопределенные переменные и получить модель неопределенного пространства состояний:
(Необходимые условия) Создать или открыть модель Simulink. Задайте входные и выходные точки линеаризации с помощью
getlinio Simulink Control Design или
linio
команды.
В данном примере можно открыть модель rct_ulinearize_builtin
.
Задайте блок для линеаризации с неопределенной переменной:
Щелкните правой кнопкой мыши блок и выберите «Линейный анализ» > «Задать выбранные блоки линеаризации».
Это действие открывает диалоговое окно Спецификация линеаризации блоков (Block Linearization Specification).
В диалоговом окне Спецификация линеаризации блоков (Block Linearization Specification) установите флажок Задать линеаризацию блоков (Specify block linearization) с помощью одного из следующих флажков. Установка этого флажка позволяет вам задать неопределенную переменную для линеаризации.
Этот флажок устанавливается по умолчанию как MATLAB Expression
в раскрывающемся меню. Эта опция позволяет вам задать блок для линеаризации с неопределенной переменной с помощью MATLAB® выражение, содержащее функции Robust Control Toolbox. Дополнительные сведения об опциях см. в разделе «Задание линейной системы для линеаризации блоков с использованием выражения MATLAB (Simulink Control Design)».
В выражении Enter для задания линеаризации поля блока Simulink введите выражение, которое должно быть вычислено до неопределенной переменной или неопределенной модели, такой как ureal
, umat
, ultidyn
, umargin
, или uss
.
Нажмите кнопку ОК, чтобы сохранить изменения.
Примечание
Можно также задать блок для линеаризации с неопределенной переменной в командной строке. Для получения примера см. «Линеаризация блока Simulink к неопределенным Моделям».
Запуск linearize
команда для вычисления неопределенной линеаризации. Эта команда возвращает uss
модель.
Для получения дополнительной информации о линеаризации и том, как проверить результаты линеаризации, см. «Основы линеаризации» (Simulink Control Design).
Для примера того, как использовать linearize
команда для вычисления неопределенной линеаризации, см. «Линеаризация моделей Simulink с неопределенностью».
После вычисления неопределенной линеаризации можно выполнить любой анализ или проектные задачи, которые вы бы выполнили на любой линейной модели, включая:
Выполните анализ робастности. См. Анализ робастности и наихудшего случая.
Выполняйте устойчивую систему управления. См. Раздел «Робастная настройка контроллера»
ulinearize
| linearize
(Simulink Control Design)