% vdp1.m
% integration de     dx/dt =  y + x - x**3   ,     dy/dt =  -x
%                          par un schema d Euler
% la solution exacte est l attracteur de Van der Pol
% fd, iacs, 18 septembre 2004, 2 janvier 2005, 22 janvier 2006.
   % fd, 25 fevrier, 02 mars 2025 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
xlabel ('vdp1. Cycle limite non lineaire avec le schema d Euler.') ;
title ('Oscillateur de Van der Pol') ;
% title ('Cnam Paris. Travaux pratiques Iacs.') ;
n=50;  dt=1/n
vec=zeros(2,2) ; 
x=0.1; y=0;

niter = 6*n 
  traj=zeros(niter+1,2) ; 
traj(1,1) =  x ; traj(1,2) = y ;


hold off


for i=1:niter ;
%%ù if i<=1 ;   hold off ; plot(x , y, '*g;depart;') ; end  ; 
px1 =    y + x - x**3    ; py1 =   - x  ; 
xn  = x + dt * px1       ; yn  = y + dt * py1 ;
%
vec(1,1)=x ; vec(2,1)=xn ; 
vec(1,2)=y ; vec(2,2)=yn ; 
traj(i+1,1) = xn  ; traj(i+1,2) = yn ;
x=xn ; y=yn ; 
end ;

xn , yn 
traj ; 

plot ( traj(:,1) , traj(:,2), '*k;trajectoire;')
axis ([ -.75 , .43 ,  -.45 , 1.2 ]) 
title ('Oscillateur de Van der Pol :  Euler explicite') ;
hold off
%%% print -dpdf 02-vdp1.pdf
%%% print -djpg 02-vdp1.jpg
print('02-vdp1.jpg', '-djpg', '-S891,630');

  
