基于SIR模型的SARS期间疫情趋势matlab仿真
一、SIR模型简介
SIR模型是传染病研究当中的一个重要模型,SIR由Susceptible(易感人但未感染节点)、Infective(感染节点)和Removal(移出节点)三种基本的节点模型组成,除了S/I/R参数之外,还引入两个重要的参数,感染强度β,和恢复强度γ,分别表示传染病的传染性和患者的治愈能力。经典SIR模型的数学表达式如下:
二、SIR的matlab实现
本质上这是一个常微分方程,我们可以使用matlab中的ode方法对这个方程进行数值解的计算,我们根据ode的规则编写函数把这个微分方程的数学语言翻译成matlab语言如下:
function dP = SIR_model(t,P) %t是时间,P中含有模型的五个参数SIRβγ
beta = P(4)
gama = P(5)
dP = zeros(5,1);
dP(1) = -beta*P(1)*P(2);
dP(2) = beta*P(1)*P(2) - gama*P(2);
dP(3) = gama*P(2);
end
徐宝春[1]在其硕士论文中对参数进行了估计,我们引用他的数据可以编写以下程序模拟,与真实数据进行对比并且做出图形:
%确定参数
I0=497
R0=33
%估计参数
S0=1290
beta=8e