Van-der-Pol Oszillator

Gleichungssystem

dx/dt = g (y-(1/3(x^3)-x))
dy/dt = -1/g x

ODE[g_]:={x'[t]==g(y[t]-(1/3 x[t]^3-x[t])),y'[t]==-1/g x[t]}

Lösung des Systems wird durch NDSolve gegeben

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

Die Trajektorie wird als parametrischer Plot der Lösung definiert

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

Die Zeitreihe der x-Komponente wird als normaler Plot definiert

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

Nullclines:=ContourPlot[{1/3 x^3-x==y,x==0},{x,-3,3},{y,-2.5,2.5},PlotRange->{{-3,3},{-2.5,2.5}},Axes->False,Frame ->True,ContourStyle->Black]

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

Darstellung einer Trajektorie zusammen mit den Nullklinen in Abhängigkeit von g

Manipulate[Show[Nullclines,ODETrajectory[g,1,1]],{g,1,10,0.1}]

Darstellung der Zeitreihe der x-Komponente

Manipulate[ODETimeSeries[g,1,1],{g,1,10,0.1}]