Hopf Bifurkation

Normalform der Hopf-Bifurkation

dx/dt = -y + x (g-((x^2)+(y^2)))
dx/dt =  x + y (g-((x^2)+(y^2)))

ODE[g_]:={x'[t]==-y[t]+x[t](g-(x[t]^2+y[t]^2)),y'[t]==x[t]+y[t](g-(x[t]^2+y[t]^2))}

Lösung des Systems wird durch NDSolve gegeben

ODEsol[g_,x0_,y0_,T_]:=NDSolve[{ODE[g],x[0]==x0,y[0]==y0},{x[t],y[t]},{t,0,T}]

Die Trajektorie wird als parametrischer Plot der Lösung definiert

ODETrajectory[g_,x0_,y0_,T_]:=ParametricPlot[Evaluate[{x[t],y[t]}/.ODEsol[g,x0,y0,T]],{t,0,T},PlotRange->{{-1,1},{-1,1}},Axes->False,Frame ->True]

Die Zeitreihe der x-Komponente wird als normaler Plot definiert

ODETimeSeries[g_,x0_,y0_,T_]:=Plot[Evaluate[{x[t]}/.ODEsol[g,x0,y0,T]],{t,0,T},PlotRange->{All,{-1,1}},Axes->False,Frame ->True]

Um die Trajektorien und die Zeitreihen in Abhängigkeit des Parameters g zu plotten, kann der Befehl Manipulate verwendet werden

Trajektorie in der x-y Ebene in Abhängigkeit von g

Manipulate[ODETrajectory[g,0,.8,150],{g,-.25,.25,0.01}]

x-Komponente der Trajektorie in Abhängigkeit von g

Manipulate[ODETimeSeries[g,.1,.1,50],{g,-1,1,0.1}]

Potential in 2d

Potential[r_]:=RevolutionPlot3D[1/4x^4-1/2r x^2,{x,-3,3},PlotRange->All]

Manipulate[Potential[r],{r,-1,5}]