% pclihe.m
% fd, iacs, 9 janvier  2005, 25 fevrier 2025 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
xlabel ('pclihe. Cycle limite ; precision du schema de Heun') ;
% title ('Cnam Paris. Travaux pratiques Iacs.') ;
m=9
pas=zeros(m,1);
err=zeros(m,1);
%
n=32 ; 
for j=1:m;
x=zeros(n+1,1); y=zeros(n+1,1);
x(1:1)=1; y(1:1)=0; dt=2*pi/n;
%          boucle en temps
for i=1:n;
x(i+1)= x(i) - 0.5 * dt * ( y(i) + y(i) + dt * x(i) );
y(i+1)=y(i) + 0.5 * dt * ( x(i) + x(i) - dt * y(i) ) ;  end ;
% 
pas(j)=log(n)/log(2);
err(j)=log ( abs(x(n+1,1)-1) +  abs(y(n+1,1))) / log(2) ;
n=2*n; end;


%  calcul du coefficient avec une droite de regression
alpha=codre(m,pas,err)

plot(pas,err(:,1),'*;logarithme des ereurs;') ; 
axis ([ 4.8   13.2      -23.1     -3.7 ]) 
title('cycle limite    schema de Heun : ordre 2')
print -dpdf 20-pclihe.pdf
print -djpg 20-pclihe.jpg
