The code is shown below.
function dx = sird(t,x);dx= [0; 0; 0; 0; 0];% Parameters for Beta
dt=1/7; %time interval i.e., per day
d= 0.0018288; %transmission diameter
v= 8.04672*7; %velocity in km/week
p= 98111/56.81; %density in person/km^3
c= sqrt(2)*pi*d^2*v*p; %No. of contacs sigma in person/week
i= 0.569; %Infection probability
beta=c*i; %Beta
%Constants:
rp= 0.18125; %probability of recovery
dp= 0.173125; %probability of death
dr= -0.00790639/52; %death rate
br= 0.01296648/52; %birth rate per week
dx(1)= -beta*(x(2)*x(1))/x(5)+x(1)*(dr+br);dx(2)= beta*((x(2)*x(1))/x(5))-rp*x(2)-dp*x(2)+x(2)*(dr+br);dx(3)= rp*x(1)+x(3)*(dr+br);dx(4)= dp*x(2);dx(5)=x(5)+(x(5)*(dr+br)-dp*x(5));options= odeset('RelTol', 1e-4, 'NonNegative', [1 2 3 4]);[t,x] = ode45('sird', [0 dt 30], [100 2 0 0 102], options);plot(t,x);legend('S', 'I', 'R', 'D');
Best Answer