%
% Equacao logistica: grafico da teia do ponto fixo
%
clear all;
clc;
% parametros 
r = 2;     % 0 <= r <= 4,   0.3,1.3,2.3,3,3.3,3.5,3.7,3.8,... 
x0=0.2 ;      % condicao inicial, comecar com 0.2 para r=2.3
				  % ... comecar com 0.6 nos restantes casos
N=11;         % numero de iteracoes
tempo=[0:1/N:1];
% a trajectoria
x(1) = x0;    
for ic=1:N
 x(ic+1) = r*x(ic)*(1-x(ic)); 
end
str1 = num2str(r);
subplot(211)
% desenha o grafico temporal
axis([min(x) max(x) 0 1])
plot(tempo,x,'-ko')
outtitle = ['r=' str1] ;
title(['Evolucao temporal para ',outtitle]) ;
subplot(212)
% desenha a funcao e y=x
func1 = [str1 '*y*(1-y)'] ;
fplot(func1,[0 1],'m'); hold on
fplot('1*y',[0 1],'b');
str2 = ['A equacao logistica r=' str1];
set(gcf,'name',str2);
% desenha a teia
line([x(1) x(1)],[0 x(2)],'Color','k')
for ic=1:N-1
   line([x(ic) x(ic+1)],[x(ic+1) x(ic+1)],'Color','k'), pause(0.3);
   line([x(ic+1) x(ic+1)],[x(ic+1) x(ic+2)],'Color','k'), pause(0.3);
   drawnow;
end
line([x(N) x(N+1)],[x(N+1) x(N+1)],'Color','k'), pause(0.3);
plot(x(N+1), x(N+1),'m*');
hold off;
outtitle = ['r=' str1] ;
title(['Teia do ponto fixo para ',outtitle]);