In[]:=
Needs["RobertNachbar`EpidemiologyModeling`"]
In[]:=
eqns={[t]Λ-μs[t]-βs[t]λ[t],[t]-γi[t]-μi[t]+βs[t]λ[t],[t]γi[t]-μr[t]};
′
s
′
i
′
r
In[]:=
vars={s,i,r};
In[]:=
foi={λ[t]i[t]/n};
In[]:=
lambdaSoln=First@Solve[Thread[Total@eqns/.[t]->0,Equal],Λ]//Simplify//ReplaceAll[Total@Through[vars[t]]->n]
′
_
Out[]=
{Λnμ}
In[]:=
ngm=NextGenerationMatrix[eqns/.lambdaSoln,vars,t,foi,{i}]
Out[]=
β
γ+μ
In[]:=
brn=(Max@Abs@Eigenvalues[ngm]//Simplify[#,{β,γ,μ}∈PositiveReals]&)
ℜ
0
Out[]=
ℜ
0
β
γ+μ
In[]:=
betaSoln=First@Solve[brn,β]
Out[]=
{β(γ+μ)}
ℜ
0
In[]:=
params=<|->1.90,β->β,γ->0.035,μ->0.07,Λ->Λ,n->10334095,I0->1|>/.lambdaSoln/.betaSoln
ℜ
0
Out[]=
1.9,β(γ+μ),γ0.035,μ0.07,Λnμ,n10334095,I01
ℜ
0
ℜ
0
In[]:=
paramsN=Normal@(params//.params)
Out[]=
{1.9,β0.1995,γ0.035,μ0.07,Λ723387.,n10334095,I01}
ℜ
0
In[]:=
inits={s[0]==n-1,i[0]==1,r[0]==0};
In[]:=
tmax=350;
In[]:=
soln=NDSolve[{eqns,inits}/.lambdaSoln/.foi/.paramsN,vars,{t,0,tmax}];
In[]:=
fig1=Plot[Evaluate[Through[vars[t]]/.soln],{t,0,tmax},PlotLegends->{"Susceptible","Infected","Recovered"},AxesLabel->{"Time","Population"},AxesLabel->{"Time","Population"},PlotStyle->{Blue,Red,Green},PlotRange->All]
Out[]=