close all;
clear all;
clc;
%{
%% 1. random helyekrõl indítok trajektóriákat az egyensúly körül:
vx=-2.5:0.05:2;
vy=vx-vx.^3/3;
wx=vx;
wy=(wx+0.7)./0.8;

figure;
subplot(2,1,1);
plot(vx,vy,'-');
hold on;
plot(wx,wy);
xlim([-2.5 2]);
ylim([-1.5 1.5]);

% [X,Y] = meshgrid(-2.5:0.1:2);
xv=-2.5:0.2:2;

[x1, x2] = meshgrid(xv, xv);
x1dot=x1-x1.^3/3-x2;
x2dot=0.08*(x1+0.7-0.8*x2);

 for i=1:20
     x0=[-1.2 -0.625]+0.3*randn(1,2);
     t0=[0 50];
     [t, phi]=ode45(@(t,x)fnode(t,x),t0,x0);
     subplot(2,1,1);
     hold on
     quiver(x1,x2,x1dot, x2dot,2);

     plot(phi(:,1),phi(:,2),'r');
     plot(x0(1), x0(2), 'mx')
     title(['kezdõpont: ', num2str(x0)]);
     subplot(2,1,2);
     hold on
     plot(t,phi(:,1));
     ylim([-4 2]);
     waitforbuttonpress;
 end
%}

%{
%2. helyekrõl indítok trajektóriákat az egyensúly körül: %kerülje meg a
hurkot
figure;
 for i=1:10
     x0=[-1.2 -0.625-0.001*i];
     t0=[0 50];
     [t, phi]=ode45(@(t,x)fnode(t,x),t0,x0);
     subplot(2,1,1);
      xlim([-1.202 -1.185]);
     ylim([-0.64 -0.62]);
     hold on
     plot(phi(:,1),phi(:,2),'r', x0(1), x0(2), 'mx');
     
     vx=-2.5:0.05:2;
     vy=vx-vx.^3/3;
     wx=vx;
     wy=(wx+0.7)./0.8;
     plot(vx,vy,'-b', wx,wy, '-b');
     title(['kezdõpont: ', num2str(x0)]);
     
     subplot(2,1,2);
     xlim([0 50]);
     ylim([-1.202 -1.185]);
     hold on
     plot(t,phi(:,1));
     waitforbuttonpress;
 end
%}
 
%{
%% 3. görbét tologatom - Áram komponens hozzáadásával, bifurk: 
%egyensúlyi pálya nincs-> szület-> él-> hal meg 
figure;
for I=0:0.1:2
 %I=0.5;
 
 vx=-2.5:0.05:3;
 vy=vx-vx.^3/3+I;
 wx=vx;
 wy=(wx+0.7)./0.8;
 
 subplot(2,1,1);
 plot(vx,vy);
 hold on;
 plot(wx,wy);
 xlim([-2.5 3]);
 ylim([-1.5 6]);
 title(['eltolás: ', num2str(I)]);
 
 x0=[-1 -1];
 t0=[0 150];
 
 [t, phi]=ode45(@(t,x)fnode2(t,x,I),t0,x0);
     subplot(2,1,1);
     %hold on
     plot(phi(:,1),phi(:,2),'r');
     hold off;
     subplot(2,1,2);
     %hold on
     plot(t,phi(:,1));
     ylim([-4 4]);
     waitforbuttonpress;
end
%}

%
%% Hiperpolarizáció: adott ideig biz negatív árammal lefolytva a sejt, ha ennek vége, akkor tüzel
figure;
for x1=-2%:0.1:0    
    hip=50;
    Ihip=0.6;
    t0=[0 150];
    x0=[x1 -0.625-0.6];%[-1.04 -0.625-0.6]
    [t, phi]=ode45(@(t,x)fnode3(t,x, hip,Ihip),t0,x0);
    for ti=1:length(t)
        if t(ti)>hip
            vx=-2.5:0.05:2;
            vy=vx-vx.^3/3;
            wx=vx;
            wy=(wx+0.7)./0.8;
            subplot(2,1,1);
            plot(vx,vy,'b');
            plot(wx,wy);            
            hold on           
        else
             vx=-2.5:0.05:2;
             vy=vx-vx.^3/3 - Ihip ;
             wx=vx;
             wy=(wx+0.7)./0.8;
             subplot(2,1,1);
             hold on            
             plot(vx,vy,'g');
             hold on
        end
        plot(phi(1:ti,1),phi(1:ti,2),'r');
        title(['kezdõpont: ', num2str(x0)]);
        subplot(2,1,2);
        hold on
        plot(t(1:ti),phi(1:ti,1));
        xlim([0 150]);
        ylim([-4 2]);
        pause(0.05)        
    end
    waitforbuttonpress;
end
%}



