
% Iterating the Henon map

clear

henon_map = inline('[a-x.^2+b*y x]','a','b','x','y');

a=input('a [1.2] = ');
b=input('b [0.4] = ');

if length(a)==0
 a=1.2
end

if length(b)==0
 b=0.4
end

%x0=0.1;y0=-0.5;
x0=-0.5;y0=0.5;

Ntransient=1000;
Nshow=10;
Npts=5000;
Ntotal=Ntransient+Npts;
fs=15;

X=x0;
Y=y0;
xo=x0;
yo=y0;

index=[0];

for i=1:Ntotal
 index=[index i];
 H=henon_map(a,b,xo,yo);
 xn=H(1);
 yn=H(2);
 X=[X xn];
 Y=[Y yn];
 xo=xn;
 yo=yn;
end

figure(1)
clf
plot(X(1),Y(1),'b.','LineWidth',1,'MarkerSize',22)
hold on
plot(X(Ntransient+1:Ntotal),Y(Ntransient+1:Ntotal),'r.','MarkerSize',5)
plot(X(1:Nshow),Y(1:Nshow),'b--*','LineWidth',1)
%axis([-2.5 2.5 -2.5 2.5]); 
axis tight;
set(gca,'FontSize',[fs]);
xlabel('x_n'); ylabel('y_n');
title(['Henon map: a=',num2str(a),', b=',num2str(b),', (x_0,y_0)=(',num2str(x0),',',num2str(y0),')']);

fprintf('Press any key to continue...\n');
pause

figure(2)
clf

disp=50;
subplot(2,1,1)
plot(index(1:disp),X(1:disp),'r-o')
axis tight
set(gca,'FontSize',[fs]);
xlabel('n');ylabel('x_n');
title(['Henon map: a=',num2str(a),', b=',num2str(b),', (x_0,y_0)=(',num2str(x0),',',num2str(y0),')']);
subplot(2,1,2)
plot(index(Ntotal-disp:Ntotal),X(Ntotal-disp:Ntotal),'r-o')
axis tight
set(gca,'FontSize',[fs]);
xlabel('n');ylabel('x_n');

