clear all

a= 3;   
b=1.1;  
c=0.5;   

tkraj = 5;

P0 = 1;
G0 = 0.5;

f=@(t,x) [a*x(1)-b*x(1)*x(2); c*x(1)];


figure(1)
[t,x]=ode45(f, [0,tkraj], [P0,G0]);
plot(t,x(:,1),t,x(:,2));
xlabel('vreme')
ylabel('populacija')
legend('virus','antitela')
title('Virus i antitela, P0 = ' + string(P0) + ', G0 = ' + string(G0))



nizG = [0 0.2, 0.5, 1, 2, 4, 6]; % razlicito G0
nizP = [0.1 0.2, 0.5, 1, 2, 4, 6]; % razlicito P0

%Kako se razvija bolest u zavisnosti od kolicine antitela koje imamo?
figure(2)
for iter=1:length(nizG)
    G0i = nizG(iter);
    %P0 = nizP(iter);
    [t,x]=ode45(f, [0,tkraj], [P0,G0i]);
    plot(t,x(:,1));
    %plot(t,x(:,1),t,x(:,2));
    hold on
end
hold off
xlabel('vreme')
ylabel('populacija virusa')
legend('G0 = '+string(nizG))
title('Virus fiksiran: P0 = ' + string(P0) + ', razlicite kolicine antitela: G0 promenljivo')


% Kako se razvija bolest u zavisnosti od unete kolicine virusa i koliko dugo traje bolest?
figure(3)
for iter=1:length(nizP)
    %G0 = nizG(iter);
    P0i = nizP(iter);
    [t,x]=ode45(f, [0,tkraj], [P0i,G0]);
    plot(t,x(:,1));
    %plot(t,x(:,1),t,x(:,2));
    hold on
end
hold off
xlabel('vreme')
ylabel('populacija virusa')
legend('P0 = '+string(nizP))
title('Razlicite kolicine virusa: P0 promenljivo, fiksirana kolicina antitela: G0 = ' + string(G0))

