Генерировать диаграмму бифуркации для 2D-системы
-
12-12-2019 - |
Вопрос
Диаграмма бифуркации чертежей для 1D-системы ясна, но если у меня есть 2D-система в следующей форме
dx/dt=f(x,y,r),
dy/dt=g(x,y,r)
И я хочу создать диаграмму бифуркации в MatLab для x против r. Какова основная идея сделать это или какие-либо намеки, которые могут мне помочь?
Решение
Настройка каждого из функций до нуля дает вам две функции y (x) (называемые NullClines), которые вы можете построить в фазовой диаграмме. Где два строки пересекаются, являются фиксированными точками (равновесиями) вашей системы.
Теперь вы должны взять Jacobian из вашей системы и подключите каждый из этих фиксированных точек, что даст вам линейный анализ устойчивости системы.
Расположение фиксированных точек и устойчивость каждой точки теперь можно вычислить как вам варьируемый r (параметр бифуркации).
<Сильные> Для программирования:
- Используйте метод Newton ( fsolve в matlab), чтобы найти, где уравнения нуля
-
Однако
Это зависит от вашей системы.
Если вы должны искать ограничительные циклы или хаос или что-то, вам придется использовать одну из решателей ODE, а затем анализ становится более сложным. Я полагаю, вы можете разработать алгоритм Poickare-Bendixson, но это будет вовлечено, и детали будут зависеть от вашей системы.
Другие советы
Я не думаю, что MatLab есть что-нибудь встроенное, что даст вам бифуркационную диаграмму.Есть это стороннее решение:
http://www.mathworks.com/matlabcentral/fileeeexchange/8382 / P >.