Вычисление неопределенных моделей пространства состояний из моделей Simulink

Когда у вас есть Simulink® Control Design™ управления, можно вычислить неопределенную линеаризацию, т.е. модель неопределенного пространства состояний (uss) объединение неопределенных переменных с линеаризированной динамикой. Используйте uss модель для выполнения линейного анализа и разработки устойчивых систем управления.

Вычислить неопределенную линеаризацию можно одним из следующих способов:

Получите модель неопределенного пространства состояний из модели Simulink

Чтобы получить модель неопределенного пространства состояний из модели, которая содержит блоки Uncertain State Space, выполните следующие шаги:

Примечание

Если у вас нет Uncertain State Space блоков в модели, но все еще хочется получить модель неопределенного пространства состояний, см. «Задание неопределенной линеаризации для ядра» или «Пользовательские блоки Simulink».

  1. (Необходимое условие) Создать или открыть модель Simulink.

  2. (Необходимое условие) В модели Simulink задайте входную и выходные точки линеаризации с помощью Simulink Control Design getlinio или linio команды. Для получения дополнительной информации смотрите Задать фрагмент модели для линеаризации (Simulink Control Design).

  3. (Необходимое условие) Если вы еще не сделали этого, задайте неопределенность в модели Simulink, как описано в разделе «Задайте неопределенность, используя блоки пространства неопределенных состояний».

    Примечание

    Программа не оценивает неопределенные переменные во время линеаризации. Таким образом, значение неопределенности не влияет на линеаризацию.

  4. Управляемый ulinearize для вычисления неопределенной линеаризации. Эта команда возвращает uss модель.

    Примечание

    Если вы используете Simulink Control Design linearize (Simulink Control Design), блоки Uncertain State Space линеаризируются до номинального значения.

Для получения дополнительной информации о линеаризации и том, как оценить результаты, см. «Основы линеаризации» (Simulink Control Design).

Пример использования Simulink Control Design linearize (Simulink Control Design), см. «Линеаризация моделей Simulink с неопределенностью».

Задайте неопределенную линеаризацию для ядра или пользовательских блоков Simulink

В некоторых случаях вы не можете использовать блоки Uncertain State Space в модели Simulink, потому что вы разделяете модель или генерируете код. Вы по-прежнему можете учитывать неопределенность в своем линейном анализе, не задавая неопределенность с помощью блоков Uncertain State Space. Robust Control Toolbox™ позволяет вам задать ядро или пользовательский блок Simulink для линеаризации с неопределенной переменной. Линеаризация создает неопределенное пространство состояний uss модель. Заданная неопределенность связывается только с блоком и не влияет на симуляцию модели. Для получения дополнительной информации смотрите Задать Линейную Систему для Линеаризации Блоков Используя Выражение MATLAB (Simulink Control Design).

Примечание

Если у вас есть Uncertain State Space блоков в модели и вы хотите получить модель неопределенного пространства состояний, см. «Получение модели неопределенного пространства состояний из модели Simulink».

Чтобы задать блоки для линеаризации в неопределенные переменные и получить модель неопределенного пространства состояний:

  1. (Необходимые условия) Создать или открыть модель Simulink. Задайте входные и выходные точки линеаризации с помощью getlinio Simulink Control Design или linio команды.

    В данном примере можно открыть модель rct_ulinearize_builtin.

  2. Задайте блок для линеаризации с неопределенной переменной:

    1. Щелкните правой кнопкой мыши блок и выберите «Линейный анализ» > «Задать выбранные блоки линеаризации».

      Это действие открывает диалоговое окно Спецификация линеаризации блоков (Block Linearization Specification).

    2. В диалоговом окне Спецификация линеаризации блоков (Block Linearization Specification) установите флажок Задать линеаризацию блоков (Specify block linearization) с помощью одного из следующих флажков. Установка этого флажка позволяет вам задать неопределенную переменную для линеаризации.

      Этот флажок устанавливается по умолчанию как MATLAB Expression в раскрывающемся меню. Эта опция позволяет вам задать блок для линеаризации с неопределенной переменной с помощью MATLAB® выражение, содержащее функции Robust Control Toolbox. Дополнительные сведения об опциях см. в разделе «Задание линейной системы для линеаризации блоков с использованием выражения MATLAB (Simulink Control Design)».

    3. В выражении Enter для задания линеаризации поля блока Simulink введите выражение, которое должно быть вычислено до неопределенной переменной или неопределенной модели, такой как ureal, umat, ultidyn, umargin, или uss.

    4. Нажмите кнопку ОК, чтобы сохранить изменения.

      Примечание

      Можно также задать блок для линеаризации с неопределенной переменной в командной строке. Для получения примера см. «Линеаризация блока Simulink к неопределенным Моделям».

  3. Запуск linearize команда для вычисления неопределенной линеаризации. Эта команда возвращает uss модель.

Для получения дополнительной информации о линеаризации и том, как проверить результаты линеаризации, см. «Основы линеаризации» (Simulink Control Design).

Для примера того, как использовать linearize команда для вычисления неопределенной линеаризации, см. «Линеаризация моделей Simulink с неопределенностью».

Использование неопределенной линеаризации для анализа или разработки системы управления

После вычисления неопределенной линеаризации можно выполнить любой анализ или проектные задачи, которые вы бы выполнили на любой линейной модели, включая:

См. также

| (Simulink Control Design)

Похожие темы