Question: Convergence of nonlinear oscillator

Hello,

I have an non coupled non linear oscillator.

I notice that, if I try to plot for a time too big, my plot doesn't converge anymore and didn't keep an elliptic trajectory. In other words, the plot didn't stay in the limit cycle.

Do you know why, if tmax is too big, the solution is no longer stable ? Do you have ideas so that I can keep a stable limit cycle even if I increase tmax ?

My code is the following :

r:=sqrt((x(t)/a)^2+(z(t)/b)^2);
eqx:=diff(x(t),t)=alpha*(1-r^2)*x(t)+w*a/b*z(t);
eqz:=diff(z(t),t)=beta*(1-r^2)*z(t)-w*b/a*x(t);
EqSys:=[eqx,eqz];

params := alpha=1, beta=1, a=0.4, b=0.2, w=1;

EqSys := eval([eqx,eqz], [params]);
xmax := 0.8; zmax := 0.4;
tmax := 400;
ic:=[x(0)=0.4, z(0)=0];
DEplot(EqSys, [x(t),z(t)], t= 0..tmax, [ic],linecolor=black, thickness=1,x(t)=-xmax..xmax, z(t)=-zmax..zmax, scaling=constrained,arrows=none);

Thanks a lot for your help.

Please Wait...