%SIR modell diffegyenlettel:

%paraméterek:
%S=susceptible
%I=infected
%R=recovered
%ir=ferõzési ráta
%rr=felgyógyulási ráta

%egyenletek: S+I->2I; I->R
%S'=-ir*S*I
%I'=ir*S*I-rr*I
%R'=rr*I
%S+I+R=1: mindenki ezek közül valamelyik
% mindig mmaradnak olyanok, akik nem érintettek a járványban (nem betegszenek meg)

t0=[0 150];
SIR_0=[0.99, 0.01, 0]; %senki se rezisztens, kevés beteg-> járvány-> lecseng
%SIR_0=[0.79, 0.01, 0.2]; %vannak eleve rezisztensek
%SIR_0=[0.5, 0.5, 0]; %sok beteg kezdetben, ekkor is marad nem megbetegedõ a végére
ir=0.4; %fertõzés maximuma ha rr=1: (ln(ir)+1)/ir
rr=0.25;%0.1;%
[t, SIR_mg]=ode45(@(t,SIR) [-ir*SIR(1)*SIR(2); ir*SIR(1)*SIR(2)-rr*SIR(2); rr*SIR(2)] ,t0 ,SIR_0); %SIR modell
%[t, SIR_mg]=ode45(@(t,SIR) [-ir*SIR(1)*SIR(2)+rr*SIR(2); ir*SIR(1)*SIR(2)-rr*SIR(2); 0] ,t0 ,SIR_0); %SIS modell

figure;
subplot(3,3, [7,8])
plot(t, SIR_mg(:,1), t, SIR_mg(:,2), t, SIR_mg(:,3), t, SIR_mg(:,1)+SIR_mg(:,2)+SIR_mg(:,3));
legend('S', 'I', 'R', 'S+I+R');
title(['SIR modell: fertõzési ráta=', num2str(ir), ', gyógyulási ráta=', num2str(rr)]);
xlabel('lépés');
ylim([0 1.1]);
ylabel('állapot aránya');

subplot(3,3, [1,2,4,5])
x=[0;0;1];
y=[1;0;0];
z=[0;1;0];
fill3(x,y,z,'g');
xlabel('I'); ylabel('R'), zlabel('S');
grid on;
hold on;
plot3(SIR_mg(:,2), SIR_mg(:,3), SIR_mg(:,1), 'r');
plot3(SIR_0(2), SIR_0(3), SIR_0(1), 'r*');
title('SIR modell fázistér');

subplot(3,3,3)
plot(SIR_mg(:,1), SIR_mg(:,2),'b', SIR_0(1), SIR_0(2), 'b*');
xlabel('S');
ylabel('I');
xlim([0 1]);
ylim([0 1]);
title('vetületek');

subplot(3,3,6)
plot(SIR_mg(:,2), SIR_mg(:,3),'b', SIR_0(2), SIR_0(3), 'b*');
xlabel('I');
ylabel('R');
xlim([0 1]);
ylim([0 1]);

subplot(3,3,9)
plot(SIR_mg(:,1), SIR_mg(:,3),'b', SIR_0(1), SIR_0(3), 'b*');
xlabel('S');
ylabel('R');
xlim([0 1]);
ylim([0 1]);
