12 апреля 2016

Строим фазовые портреты Simulink-моделей

Фазовый портрет — это полная совокупность различных фазовых траекторий.
Фазовая траектория — след от движения изображающей точки.

Фазовые портреты хорошо иллюстрируют поведение системы и основные ее свойства такие как точки равновесия.

К сожалению в MatLab и Simulink нет штатных инструментов для построения фазовых портретов, поэтому приходится придумывать самому.

В этой статье я покажу на примере фазового портрета маятника (с трением), как можно быстро получить фазовый портрет любой системы.


Часть первая. Выбор фазовых переменных и модификация системы

Для того чтобы быстро построить фазовый портрет модели необходимо ее подготовить: выбрать фазовые переменные, сделать установку начальных значений этих переменных из переменных MatLab, а так же добавить сохранение массива значений.

Выбор фазовых переменных

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

Установка стартовых значений из переменных MatLab

После того, как мы выбрали переменные, необходимо установить на интеграторах их начальные значения: так как значения мы будем менять автоматически на интеграторах в качестве начального значения укажем переменные MatLab.

 

Получение данных работы модели

Для получения значений фазовых переменных в ходе работы модели необходимо использовать блок To WorkSpace. Не забудьте установить тип возвращаемых значений как Array.

Часть вторая. Автоматизация построения фазового портрета

После того, как мы подготовили модель необходимо автоматизировать построение фазового портрета. Для этого можно использовать следующий m-код (для двухмерного фазового портрета):
После запуска программы вы увидите окно с фазовым портретом.

Заключение

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