%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%         2.gyakorlat         %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Nemlin. din. rsz-ek alapjai %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%         2015.09.16.         %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Paraméterek:

s=10;                       % 
r=28;                       % 
b=8/3;                      % 
kezd1=[5 5 5];              % 1. kezdõpont
kezd2=[4 5 5];              % 2. kezdõpont
tmax=50;                    % futtatási idõ
tlim=[0 tmax];              % határok ábrázoláshoz
xl=[-20,20];                % 
yl=[-20,20];                % 
zl=[-20,50];                % 

Lorenz_egyenlet=@(t, xyz) [s*(xyz(2)-xyz(1));...
                           r*xyz(1)-xyz(2)-xyz(1)*xyz(3);...
                           xyz(1)*xyz(2)-b*xyz(3)]; % Lorenz egyenletek
% Lorenz egyenletek

figure;
    [t, x] = ode45(Lorenz_egyenlet,tlim, kezd1);              % ode45 az elsõ pontra    
    [t2, x2] = ode45(Lorenz_egyenlet,tlim, kezd2);           % ode45 a második pontra

    

% x,y,z az idõ függvényében ábrázolva, subplotok
% x változása
%subplot(6,1,1);
subplot(6,2,1);
plot(t,x(:,1), t2,x2(:,1));
xlabel('t');
ylabel('x');
xlim(tlim);
ylim(xl);

% y változása
%subplot(6,1,2);
subplot(6,2,3);
plot(t,x(:,2), t2,x2(:,2));
xlabel('t');
ylabel('y');
xlim(tlim);
ylim(yl);

% z változása
%subplot(6,1,3);
subplot(6,2,5);
plot(t,x(:,3), t2,x2(:,3));
xlabel('t');
ylabel('z');
xlim(tlim);
ylim(zl);

% 3D-s ábra
%subplot(6,1,[4,5,6]);
subplot(6,2,7:12);
plot3(x(:,1),x(:,2),x(:,3), x2(:,1),x2(:,2),x2(:,3))
xlabel('x');
ylabel('y');
zlabel('z');
xlim(xl);
ylim( yl);
zlim(zl);

subplot(6,2, [2,4,6]);
[mi, hol]=findpeaks(x(:,3)); %beépített függvény a signal processing toolboxból lokális maximumokat keres meg egy függvényen
peak_n1=mi(1:end-1); %ábrázoláshoz 2 adatsor ezeket ábrázolom egymás függvényében
peak_n2=mi(2:end);

[mi2, hol2]=findpeaks(x2(:,3)); %beépített függvény a signal processing toolboxból lokális maximumokat keres meg egy függvényen
peak2_n1=mi2(1:end-1); %ábrázoláshoz 2 adatsor ezeket ábrázolom egymás függvényében
peak2_n2=mi2(2:end);

plot(peak_n1, peak_n2, 'b.', peak2_n1, peak2_n2, 'g.'); %a lokális maximumok ábrája: az n+1.-et az n. függvényében
xlim([30 50]);
ylim([30 50]);
xlabel('Zn');
ylabel('Zn+1');
title('Lorenz peak map');







