Pages

Thursday, March 24, 2011

Фазовый портрет // Wolfram Mathematica

Для решения дифференциальных уравнений вида:

  




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


Пример №1

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

дает нам решение типа "седло". Пишем код в математике:

StreamDensityPlot[{3 x + 4 y, 2 x + y}, {x, -2, 2}, {y, -2, 2}]
В итоге мы и получаем точку типа "Седло". И на рисунке это хорошо видно.
Пример №2

Здесь мы рассматриваем другую точку, точку типа "центр":

StreamDensityPlot[{x - y, 2 x - y}, {x, -2, 2}, {y, -2, 2}]
Примеров можно приводить бесконечно много, давайте рассмотрим более сложный пример:

Программа выдает нам вот такую фазовую плоскость:
StreamDensityPlot[{x - x^2  y, -y + 3 x - x^2}, {x, -4, 4}, {y, -4, 4}]

А вот график с характерными линиями, который прилагался в лекции (там то он точно был правильный):




No comments:

Post a Comment