% (-1) Rajzoljunk contour-t:
%
% A "magassagi pontokban": 0 0.3 1 1.4 1.8 2 3 4
% X tengelyen felvett halo: [-25;5] intervallumon 0.005 osevel
% Y tengelyen felvett halo: [-4;4] intervallumon 0.005 osevel
% Energiafuggveny: (y^2+1-cos(x))/2

% Ide jon a megoldas

% (0) Az alabbi inga egyenletet irjuk be ode45-el hivhato fuggvenyket:
% \dot{x} = y; \dot@{y} = -sin(x) -b*y + eps*cos(t+phi)
% Magyarzat: 
% Sima inga egyenlet (szerepelt multkor): \dot{x} = y; \dot@{y} = -sin(x)
% Csillapitott inga egyenlet (szerepelt multkor): \dot{x} = y; \dot@{y} = -sin(x) -b*y
% Gerjesztett es csillapitott inga egyenlet:
% \dot{x} = y; \dot@{y} = -sin(x) -b*y + eps*cos(t)
% Gerjesztett es csillapitott inga egyenlet a gerjesztes faziseltolasaval:
% \dot{x} = y; \dot@{y} = -sin(x) -b*y + eps*cos(t+phi)

% Ide jon a megoldas

x=-25:0.05:5;
y=-4:0.05:4;
[X,Y]=meshgrid(x,y);
Z=(Y.^2)/2+1-cos(X);
%[C,h] = contour(X,Y,Z,[0 0.3 1 1.4 1.8 2 3 4]);

Max_Time= 300;

%
%alap paraméterek:
 Xinit= -0.2;
 Yinit= 0.3;
 Xinit2= -0.201;
 Yinit2= 0.3;
 b=0.1;
 eps=0; %eps=1; % Ez az alap felteves, de az elso pelda nem tartalmaz gerjesztest.
 phi=0; % Ez az alap felteves, az utolso elottiig nem tartalmaz faziseltolast.
 phi2=0;
 %}
 
 % % (2) Erdekes parameterek: "Szetszedi"
% % Ket egymashoz kozeli nagyon mashogy viselkedik: Tranziens kaosz lefolyasa mas.
%{
 Xinit= -0.2;
 Yinit= 0.3;
 Xinit2= -0.201;
 Yinit2= 0.3;
 b=0.1;
 eps=1;
 phi=0; % Ez az alap felteves, az utolso elottiig nem tartalmaz faziseltolast.
 phi2=0;
 %}
 
% % (3) Erdekes parameterek: "Szetszedi2"
% % Dupla periodus. Tranziens allapot, ha sokaig hagyjuk futni lecseng.
%{
 Xinit= -0.2;
 Yinit= 0.3;
 Xinit2= -0.201;
 Yinit2= 0.3;
 b=0.1;
 eps=1.2;
 phi=0; % Ez az alap felteves, az utolso elottiig nem tartalmaz faziseltolast.
 phi2=0;
%}

% % (4) Erdekes parameterek: "Szetszedi3"
% % Itt csak az ode23 szedi szet
%{
Xinit= -0.2;
 Yinit= 0.3;
 Xinit2= -0.2001;
 Yinit2= 0.3;
 b=0.1;
 eps=1;
 phi=0; % Ez az alap felteves, az utolso elottiig nem tartalmaz faziseltolast.
 phi2=0;
%}

% % (5) Erdekes parameterek: FÃ¡zis eltolas szemleltetese
%{
Xinit= 0.6;
 Yinit= 0.3;
 Xinit2= -0.201;
 Yinit2= 0.3;
 b=0.1;
 eps=1;
 phi=pi;
 phi2=0;
%}

% \dot{x} = y; \dot@{y} = -sin(x) -b*y + eps*cos(t+phi)
%forced_damped_pendulum_equat = @(t,y,b,eps,phi) [ y(2); (-sin(y(1))-b.*y(2) + eps*cos(t+phi)); ];
[t, xy]=ode45(@(t, xy) ([xy(2); -sin(xy(1))-b*xy(2)+eps*cos(t+phi)]), [0 Max_Time], [Xinit; Yinit]);
[t2, xy2]=ode45(@(t2, xy2) ([xy2(2); -sin(xy2(1))-b*xy2(2)+eps*cos(t2+phi2)]), [0 Max_Time], [Xinit2; Yinit2]);

figure;
subplot(2,2,1);
hold on;
%[C,h] = contour(X,Y,Z,[0 0.3 1 1.4 1.8 2 3 4]);
contour(X,Y,Z,[0, 0.1 0.25, 0.5, 1, 1.4, 2, 3, 4]);
plot(xy(:,1), xy(:,2), 'r');
plot(xy2(:,1), xy2(:,2), 'b');
xlabel('x');
ylabel('y');
hold off;

subplot(2,2,2);
hold on;
plot(xy(:,1), t, 'r');
plot(xy2(:,1), t2, 'b');
xlabel('x');
ylabel('t');
hold off;

subplot(2,2,3);
hold on;
plot(t, xy(:,2), 'r');
plot(t2, xy2(:,2), 'b');
xlabel('t');
ylabel('y');
hold off;

subplot(2,2,4);
hold on;
plot3(xy(:,1), xy(:,2), t, 'r');
plot3(xy2(:,1), xy2(:,2), t2, 'b');
xlabel('x');
ylabel('y');
zlabel('t');
hold off,

% Alkalmazzuk az alabbi parametereket es nezzuk meg mit adnak ki!

% % Parameterek:
% % (1) Alap parameterek:
% Xinit= -0.2;
% Yinit= 0.3;
% Xinit2= -0.201;
% Yinit2= 0.3;
% b=0.1;
% eps=0; %eps=1; % Ez az alap felteves, de az elso pelda nem tartalmaz gerjesztest.
% phi=0; % Ez az alap felteves, az utolso elottiig nem tartalmaz faziseltolast.
% phi2=0;

% % (2) Erdekes parameterek: "Szetszedi"
% % Ket egymashoz kozeli nagyon mashogy viselkedik: Tranziens kaosz lefolyasa mas.
% Xinit= -0.2;
% Yinit= 0.3;
% Xinit2= -0.201;
% Yinit2= 0.3;
% b=0.1;
% eps=1;
% phi=0; % Ez az alap felteves, az utolso elottiig nem tartalmaz faziseltolast.
% phi2=0;

% % (3) Erdekes parameterek: "Szetszedi2"
% % Dupla periodus. Tranziens allapot, ha sokaig hagyjuk futni lecseng.
% Xinit= -0.2;
% Yinit= 0.3;
% Xinit2= -0.201;
% Yinit2= 0.3;
% b=0.1;
% eps=1.2;
% phi=0; % Ez az alap felteves, az utolso elottiig nem tartalmaz faziseltolast.
% phi2=0;

% % (4) Erdekes parameterek: "Szetszedi3"
% % Itt csak az ode23 szedi szet
% Xinit= -0.2;
% Yinit= 0.3;
% Xinit2= -0.2001;
% Yinit2= 0.3;
% b=0.1;
% eps=1;
% phi=0; % Ez az alap felteves, az utolso elottiig nem tartalmaz faziseltolast.
% phi2=0;

% % (5) Erdekes parameterek: FÃ¡zis eltolas szemleltetese
% Xinit= 0.6;
% Yinit= 0.3;
% Xinit2= -0.201;
% Yinit2= 0.3;
% b=0.1;
% eps=1;
% ph1=pi;
% ph2=0;

% Ode45-tel szÃ¡moljuk kia fenti parameterekre a ket KEP-et.

% Ide jon a megoldas

% Negy plotot szeretnenenk latni, kulon figure-on, 
% ahol mind a negy esetben a ket megoldas egymas mellett lathato:
%
% 1: x-y szerint '-x' vonaltipussal
% 2: t-x szerint
% 3: t-y szerint
% 4: t-x-y szerint

% Ide jon a megoldas