用matlab编写SIR模型对SARS期间疫情数据进行模拟

一、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
评论 53
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值