%Pókháló diagram:
%Paraméterek:
figure;
%mu=3.83; %3-as periódus, káosz alábbhagy ablakban
kezdet=0.2;
iteraciok=200;

for mu=0.1:0.1:4 %alap
%for mu=3:0.01:4 %kisebb lépésköz, periódus duplázódás: 2->4->8 periodus, káosz alábbhagyása ablakban 
%for mu=3.828:0.001:3.86 %káosz kitisztul, majd 3 periúdusból újra duplázódik 3->6->12
egyenes=linspace(0,1,iteraciok);
gorbe=mu*egyenes.*(1-egyenes);

%{
%Ricker
%a=0.01; b=5; %gyors konvergencia
%a=0.02; b=7; %lassan konvergál
%a=0.02; b=8; %periodikus viselkedés
%a=0.02; b=14; %összetett periodus
iter=400;
egyenes=linspace(0,iter,iter);
gorbe=zeros(size(egyenes));
gorbe(1)=kezdet;
for i=1:(iter-1)
    gorbe(i+1)=b*i*exp(-a*i);
end
%}

subplot(1,2,1);
%Kirajzolja a vonalat és a függvényt
plot(egyenes,gorbe, egyenes,egyenes);
hold on;

%Megcsinálja az iterációt
Population=zeros(iteraciok,1);
Population(1)=kezdet;

for i=1:(iteraciok-1)
    Population(i+1)=mu*Population(i)*(1-Population(i));
    %Population(i+1)=b*Population(i).*exp(-a*Population(i)); %Ricker
end

% Pokhalo diagram
%
%elejétõl:
    plot([Population(1),Population(2)],[Population(2),Population(2)],'red');
    plot([Population(1),Population(1)],[0,Population(2)],'red');
for i=2:(iteraciok-1)
    %
%for i=100:(iteraciok-1) %csak a vége a stabilizálódás után
    plot([Population(i),Population(i+1)],[Population(i+1),Population(i+1)],'red');
    plot([Population(i),Population(i)],[Population(i),Population(i+1)],'red');
end
title(['mu=', num2str(mu)]);
hold off;

subplot(1,2,2);
plot(Population);
ylim([0,1]);
xlabel('iteráció');
ylabel('populáció');

waitforbuttonpress;
end;