04 ноября 2016

Построение одномерных (Одна переменная, один параметр) бифуркационных диаграмм в Maxima

Слов «бифуркация» означает «раздвоение» и употребляет как название любого скачкообразного изменения, происходящего при плавном изменении параметров в любо системе: динамической, экологической и т. д.

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

Рассмотрим способ построения бифуркационных диаграмм для простейших систем с помощью Maxima

В математике, особенно при изучении динамических систем, под понятием бифуркационная диаграмма подразумевают изображение на рисунке смены возможных динамических режимов системы (равновесных состояний, стационарных точек, периодических орбит и пр.) при изменении значения бифуркационного параметра. [Википедия].

Таким образом на диаграмме отражена динамика изменения положений равновесия в зависимости от изменения некого параметра системы.

Построение диаграммы рассмотрим на примере седло-узловой бифуркации в системе, описываемой д.у.

где  λ — варьируемый параметр (В среде Maxima будем использовать L). Необходимо определить равновесные решения. Для этого воспользуемся командой

b4_1: solve(L-x^2=0, x);
(b4_1)[x=-sqrt(L),x=sqrt(L)]

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

plot2d( [ rhs(b4_1[1]),rhs(b4_1[2]) ], [ L, -5, 5 ],  [ xlabel, "L" ], [ ylabel, "Точки равновесия" ],[legend, false] );

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

plot2d() — построение двумерного графика
rhs() — получение правой части равенства, в нашем случае функции x(L)
[ xlabel, "L" ] — Задаем название оси X
[ ylabel, "Точки равновесия" ] — Задаем название оси Y
[legend, false] — отключаем легенду

Аналогичным образом можно построить диаграмц и для системы с большим числом решений/

Больше информации о бифуркациях и больше примеров ищите на digiratory.ru