6.复杂网络实验六:SIR病毒传播模型(matlab)

一、SIR模型简介

在典型的传染病模型中,种群(Population)内的N个个体的状态可分为如下几类:

(1)、易染状态S(Susceptible),即健康状态,可被感染的个体。

(2)、感染状态I(Infected),处于感染状态的个体还能够感染将康状态的个体。

(3)、移除状态R(Removed,Refractory or Recovered),也称为免疫状态和恢复状态。一个个体经历过一个完整的感染周期后,该个体就不再被感染,因此就可以不再考虑该个体。

另外还有病人的日接触率λ日治愈率μ

这个λ是针对于病人而言的,代表了一个病人接触多少个人。而可接触的人包括除自己以外的种群中的所有人。

tips:

1.初始时刻,只有少数个体处于感染状态,其他都是易染状态。

2.假设病毒的时间尺度远小于个体生命周期,从而不考虑个体的出生和自然死亡。

3.一个基本假设是完全混合(Fully mixed),也就是说一个个体与其他个体接触的机会均等。

二、模型中涉及的方程

1.S(t),I(t),R(t),N(t),N

S(t)的意思是第t天健康个体的数量,I(t)是第t天感染个体的数量,R(t)是第t天免疫个体的数量

N(t)是整个种群的数量,在假设情况下固定不变为N

2.s(t),i(t),r(t)

由上方公式可以看出,s(t)的意思是t时刻健康个体占总个体的比例

3.关于S(t),I(t),R(t)的微分公式

其中S随时间的变化率是这样理解的:

λ作用于S(t)和I(t),是一个病人的日接触率,这个病人可以接触健康人,也可以接触病人,但是接触病人不会导致S有变化,所以有效的变化是这个病人接触健康人。

如果λ等于2,也就是说一个病人每天接触2个人,这两个人是不是病人不知道。

如果λ等于0.5,也就是说一个病人每天接触0.5个人(有0.5几率去接触人)

那么λ×I(t)就是所有被接触的人的数量,要把里面有效的人拿出来

有效的人的概率是S(t)/N。

这样应该能理解了吧,我理解这个公式用了好久好久,简直是一个傻吊。

网上有的文章i(t)和I(t)不分,导致理解公式特别困难。

最后作图都是用的i(t),s(t),r(t)随t的变化的图像,所以纵坐标是一个百分比。

4.关于s(t),i(t),r(t)的微分公式

这里细致地做了微分公式的推导,方便大家理解

三、具体模型

1.sir.m 脚本

function y=sir(t,x)
a=0.8;  %感染率0.8
b=0.2;  %治愈率0.2
y=[-a*x(1)*x(2),a*x(1)*x(2)-b*x(2),b*x(2)]';
%s变化率,i变化率,r变化率
%通过这三个微分公式,求出s,i,r随着t的变化图像

2.实际运行脚本 sirrum.m

[t,x]=ode45('sir',[0,50],[0.97 0.02 0.01]);
%ode45参数:1.函数句柄or函数名 2.t的取值 3.3个y的初始值
%ode45是用来求解常微分函数的方法
%原问题只知道变化率函数,这里求解原函数,用到该方法
[t,x]   %不加封号,作输出用
plot(t,x(:,1),'-',t,x(:,2),'*',t,x(:,3),'+')

四、小结

搞了一下午才把那个公式看懂,网上的公式不好好说明清楚,很具有迷惑性,可能他们也没了解这个小写函数大写函数的区别。

在豆瓣《猜想与反驳》一书底下评论中看到一句有趣的话,摘录如下:

每个知识分子都有一个很特殊的责任。

他拥有学习的特权和机会。

作为回报,他对于同胞(或对于社会)有责任尽可能简单,清楚,谦虚地描述他的研究结果。

知识分子所做的最糟的事情(主要罪过)是,

试图对同胞自命为伟大的预言家,给他们留下令人迷惑的哲学的印象。

任何不能简单,清楚地讲话的人最应住口,继续下写功夫,直至能这样做为止。

所以,有什么问题都可以问我,如果我能帮你的话,虽然我也是一只很菜的菜鸟........

 

  • 130
    点赞
  • 518
    收藏
    觉得还不错? 一键收藏
  • 55
    评论
传染病复杂网络是指在传染病传播过程中,人与人之间的接触和传播关系形成的网络结构。在matlab中,可以使用SIR模型来模拟传染病复杂网络SIR模型是一种常见的传染病动态模型,其中S表示易感者(Susceptible)、I表示感染者(Infected)和R表示康复者(Recovered)。通过对这三个群体的人数进行微分方程建模,可以模拟出传染病在整个群体中的传播过程。 在matlab中,可以使用sir.m脚本来实现SIR模型。在该脚本中,a表示感染率,b表示康复率,y表示S、I、R三个群体的变化率。通过对这三个微分公式进行求解,可以得到随着时间变化S、I、R群体的变化图像。这可以帮助我们了解传染病在人群中的传播趋势和规律。 需要注意的是,传染病复杂网络模型的建立和模拟需要根据不同的传染病和实际情况进行参数设定和调整,以更好地反映传染病的传播特征。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [6.复杂网络实验六SIR病毒传播模型matlab)](https://blog.csdn.net/ylf12341/article/details/89930483)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 55
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值