
% Riddled basin of attraction


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

x0=input('x0 [0.1 | -0.1 | 0.3] = ');

if x0==[]
x0=0.1;
end

y0=0;


if(exist('col')==0)
 col=1;
else
 col=col+1;
end

if(col>3) col=1;end

colvec(:,1)=[1 0 0]';
colvec(:,2)=[0 1 0]';
colvec(:,3)=[0 0 1]';

ms = 5;

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

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

index=[0];

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

figure(1)
hold on
plot(X(1),Y(1),'.','LineWidth',1,'MarkerSize',22,'Color',colvec(:,col))
hold on
plot(X(Ntransient+1:Ntotal),Y(Ntransient+1:Ntotal),'.','MarkerSize',ms,'Color',colvec(:,col))
plot(X(1:Nshow),Y(1:Nshow),'--*','LineWidth',1,'Color',colvec(:,col))
axis([-1.2 1.4 -1.45 1])
set(gca,'FontSize',[fs]);
xlabel('x_n'); ylabel('y_n');
title(['Riddled basin: a=',num2str(a),'(x_0,y_0)=(',num2str(x0),',',num2str(y0),')']);

%fprintf('Press any key to continue...\n');
%pause
%
%figure(2)
%hold on
%
%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(['Riddled basin: a=',num2str(a),'(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');

