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

article/2025/9/26 9:01:36

一、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),'+')

四、小结

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

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

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

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

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

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

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

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

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

 


http://chatgpt.dhexx.cn/article/8E6Funom.shtml

相关文章

传染病SIR传播模型(搬运,含带MATLAB代码)

学习笔记之SIR传染病模型TOC 本文主要是对此篇文章代码部分的详解 function ysir(~,x)a0.8; %感染率0.8b0.2; %治愈率0.2y[-a*x(1)*x(2),a*x(1)*x(2)-b*x(2),b*x(2)]; end %t 为持续时间,%x为三维矩阵,其中x(1)为易感染者,x(2)为传染者&…

传染病模型(4)——SIRS模型和SIER模型及matlab具体程序

前言 常见的传染病模型按照具体的传染病的特点可分为 SI、SIS、SIR、SIRS、SEIR 模型。其中“S”“E”“I”“R”的现实含义如下: S (Susceptible),易感者,指缺乏免疫能力健康人,与感染者接触后容易受到感染; E (Ex…

信息传播模型——SIR的Python实现

本文通过Python语言实现SIR模型,并进行可视化,所用例子为足球俱乐部数据集。 author:xiao黄 缓慢而坚定的生长 我之前还写过SI和IC模型的Python实现及可视化,请点击传送门查看,希望对你们有帮助。 SIR模型是传染病模型…

疫情模拟中的SIR模型与扩展的SIRD模型

一.SIR模型 SIR模型起源于流行病学的研究,是模拟传染病动力学的经典模型。至今仍在流行病学中占据中心位置,核心在于微分方程。 SIR模型描述了流行病下三大人群:易感者 susceptible、感染者 infectious、痊愈者 recovered之间的关系。 SIR模…

基于SIR模型的疫情预测 matlab

基于SIR模型的疫情预测 庚子年 庚辰月 丁丑日,疫情从爆发到今天,已经有100多万人感染,而我国有一群这样的逆行者他们以自己的生命筑起了我国的防疫长城,鲁迅先生曾说“我们从古以来,就有埋头苦干的人,有拼…

python实现SI、SIS、SIR、SIRS、SEIR、SEIRS模型

传染病传播模型 SISISSIRSIRSSEIR(相比较贴合新冠状病毒)SEIRS 在家闲着无事,搜了一些关于传染病模型的知识,在此做个总结。 SI 最简单的SI模型首先把人群分为2种,一种是易感者(Susceptibles),易感者是健康…

流行病模型(SIR Model)

流行病模型(SIR Model) by : ZhuoFei, Zhou 首先定义一个函数bernoulli(p) #以概率p判断是否会被感染或恢复 function bernoulli(p::Number)if rand(1)[1] < preturn trueelsereturn falseend endbernoulli (generic function with 1 method)恢复所需的时间函数recovery_…

SIR模型与R模拟

SIR病毒模型R模拟 文章目录 SIR病毒模型R模拟[toc]1.SIR病毒模型2.R模拟 1.SIR病毒模型 SIR病毒模型的的三个字母分别为病毒传播过程中的三种状态&#xff0c;其中 S&#xff0c;表示易感染者&#xff0c;即没有被感染病毒的人群I&#xff0c;表示已感染者&#xff0c;即被感…

【python】SIR模型实现

SIR模型python实现 SIR模型是传染病模型中最经典的模型&#xff0c;其中S表示易感者&#xff0c;I表示感染者&#xff0c;R表示恢复者。SIR模型中&#xff0c;染病人群为传染的源头,他通过一定的几率把传染病传给易感人群,他自己也有一定的几率/可以被治愈并免疫,或者死亡;易感…

传染病模型(3)——SIR模型及matlab运行结果

前言 常见的传染病模型按照具体的传染病的特点可分为 SI、SIS、SIR、SIRS、SEIR 模型。其中“S”“E”“I”“R”的现实含义如下&#xff1a; S (Susceptible)&#xff0c;易感者&#xff0c;指缺乏免疫能力健康人&#xff0c;与感染者接触后容易受到感染&#xff1b; E (Exp…

关于SIR模型性质的进一步摘录

1 SIR模型的性质 又是成为SIR搬运工的一天。以下内容来自陈卫老师在《大数据网络传播模型和算法》。纯纯自我记录&#xff0c;不够美观不够细致&#xff0c;不喜欢看出门左拐。 1.1 SIR模型中的basic reproduction rate&#xff08;基础再生数&#xff09; R 0 R_0 R0​ 它是…

SIR模型II

SIR II (Epidemic modeling) by Zhuofei(fregoticloud.com) jupyter notebook link 在这个模型中&#xff0c;考虑一个在一定空间内的流行病模型。人只能与附近的人交互作用&#xff0c;所以给人在一定的空间里随机运动。 首先&#xff0c;在一个2维平面&#xff0c;随机游走&…

SIR信息传播模型

SIR信息传播模型 SIR模型及python复现SIR模型SIR数学模型传播动力学方程python实现 模拟社交网络中SIR模型的信息传播过程 SIR模型及python复现 SIR模型 SIR模型是传染病模型中的经典模型&#xff0c;可以用在传染病过程中的模拟预测&#xff0c;也可以用作抽象表达社交网络中…

SIR模型 matlab模拟

需要一个单独的m文件&#xff1a; %即写上三个微分方程 function ySIRModel(t,x,lambda,mu) y[-lambda*x(1)*x(2),lambda*x(1)*x(2)-mu*x(2),mu*x(2)]; 再进行作图 >> ts0:1:100; >> lambda0.00001; >> mu1/14; >> x0[45400,2100,2500]; >> […

SIR及SEIR建模的简单示例

目录 概述1.一些定义1.1 一些名词1.2 一些符号1.3 一些定义 2.方法论2.1 SIR2.2 SEIR2.3 代际传播2.3.1 传播矩阵 3 模型实现3.1 参数设定3.2 SIR&#xff08;1&#xff09;模型&#xff08;2&#xff09;参数&#xff08;3&#xff09;计算&#xff08;4&#xff09;绘图 3.3 …

SIR模型python实现

python新手&#xff0c;代码不规范之处敬请见谅&#xff0c;第一次发帖排版也不太懂&#xff0c;各位将就看。 参考&#xff1a; SIR模型和Python实现_阿丢是丢心心的博客-CSDN博客_sir模型 【保姆级教程】使用python实现SIR模型&#xff08;包含数据集的制作与导入及最终结…

SI,SIS,SIR,SEIRD模型

SI&#xff0c;SIS&#xff0c;SIR&#xff0c;SEIRD模型 因为个人工作需要系统地整理SI&#xff0c;SIR以及SEIR模型&#xff0c;故对三个模型进行原理介绍以及对比。文中关于SI&#xff0c;SIS&#xff0c;SIR的所有的截图都来自西工大肖华勇老师在慕课上的分享&#xff0c;…

【数学建模】传染病SIR模型

SIR模型 经典的SIR模型是一种发明于上个世纪早期的经典传染病模型&#xff0c;此模型能够较为粗略地展示出一种传染病的发病到结束的过程&#xff0c;其核心在于微分方程&#xff0c;其中三个主要量S是易感人群&#xff0c;I是感染人群&#xff0c;R是恢复人群 这三个量都是跟…

SIR模型简单了解(Susceptible Infected Recovered Model)

SIR模型定义 SIR模型是一种传播模型&#xff0c;是信息传播过程的抽象描述。 SIR模型是传染病模型中最经典的模型&#xff0c;其中S表示易感者&#xff0c;I表示感染者&#xff0c;R表示移除者。 S&#xff1a;Susceptible&#xff0c;易感者 I&#xff1a;Infective&#xf…

【保姆级教程】使用python实现SIR模型(包含数据集的制作与导入及最终结果的可视化)

目录 一、SIR模型介绍 二、Python实现SIR模型 1.制作自己的数据集的两种方法&#xff08;csv格式&#xff09; &#xff08;1&#xff09;excel转为csv格式 &#xff08;2&#xff09;通过python对csv格式文件进行内容修改 2.导入数据集 &#xff08;1&#xff09;具体代码如下…