微分方程+传染病模型(指数传播、SI、SIS、SIR模型)+MATLAB求解

本文为北海的数模课程学习笔记,课程出自微信公众号:数学建模BOOM。

求赞!求收藏!求关注!

微分方程结合传染病模型(如指数传播、SI、SIS、SIR模型)提供了一种用数学公式描述疾病传播动态的方法,有助于理解和预测疾病在人群中的传播路径和速度。

目录

指数传播模型

SI模型

SIS模型

SIR模型

代码求解微分方程数值解

指数传播模型

最简单

假设:每个病人,单位时间内会传染到的人数为大于0的常数\lambda,有

N(t+\Delta t)-N(t)=\lambda N(t) \Delta t

 

 该模型适用于传染病爆发初期。考虑到在封闭区域内,患病人数+健康人数=总人数,总人数是相对固定的,所以不能一直指数增长下去。由此升级为SI模型。

SI模型

设人口总数为常数N。人群分为易感染者(Susceptible)和易感染者(Infective),所占比例在t时刻为s(t)和i(t),s(t)+i(t)=1。 

 

 

 但是本模型假设了只有健康者可以变为病人,但病人不会变为健康者。升级后为SIS模型。

SIS模型

MATLAB的dsolve函数可以求解析解 

 

\mu=\frac{\lambda}{\sigma}\mu换掉 

SIR模型

考虑免疫性,改进为SIR模型。

 

 

 

模型分析
SIR 模型形式是 多个相互关联 系统变量 之间的 常微分方程组, 属于典型的 系统动力学模型

该类问题往往难以求得精确的解析解,可以使用MATLAB求数值解

代码求解微分方程数值解

通用的求常微分方程数值解的函数ode45。

基本语法:
https://ww2.mathworks.cn/help/matlab/ref/ode45.html?s_tid=srchtitle_ode45_1#d123e934673
clc,clear
% 参数初始化
lam = 0.4;      % 日接触率
mu = 0.1;     % 日治愈率
I = 0.4;
S = 0.5; %因为S+I+R=1,所以求出I和S就够了

% ode45是一个通用型ODE求解器
tspan = [0:1:50];     % 变量t范围0到50,每隔1取一个
y0 = [I S];     % 传递模型参数

[t,y] = ode45(@(t,y)SIRfunc(t,y,lam,mu), tspan, y0);
%后面的tspan,y0传给@中的(t,y),再传递给SIRfunc中的(t,y,~,~)
% 求解返回的y中,第一列y1是第一个方程组的解,第二列y2是第二个微分方程的解
r = 1-y(:,1)-y(:,2);   % 移出者的比例 

%画图
plot(t,y(:,1),t,y(:,2),t,r,'k','LineWidth',2);
legend('患病:i(t)','易感染者:s(t)','移除者:r(t)','Location','Best'); 
ylabel('占人口比例%');
xlabel('时间t');
title('SIR模型(ode)');
%下面有一个分节符,因为要在同一个文件中再写一个函数
function dydt = SIRfunc(t,y,lam,mu)
dydt = zeros(2,1);
dydt(1) = lam*y(1)*y(2) - mu*y(1);
dydt(2) = -lam*y(1)*y(2);
end 

结果

MikingG
关注 关注
  • 8
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
传染病模型 | Matlab实现传染病模型SISISSIR
算法如诗的博客
05-25 3178
传染病模型 | Matlab实现传染病模型SISISSIR
matlab传染病最优控制图
最新发布
走向CTO的路上...
11-06 358
为了求解传染病最优控制模型并得到最优控制的具体值和时间序列图,在 MATLAB 或 Python 中,您可以使用数值方法(如四阶龙格-库塔法)来求解模型的状态方程和伴随方程,并通过优化算法(如动态规划或数值优化方法)来求解最优控制问题。以上步骤是一个简化的概述,实际的实现过程可能更加复杂,并需要根据具体问题进行调整和扩展。具体的代码实现将涉及到传染病模型的具体形式和参数,以及所选择的数值方法和优化算法。关于传染病最优控制模型的详细解释、底层架构流程图、文献材料链接以及当前使用的产品,我无法提供。
第八讲 微分方程模型-传染病模型SISSIR 模型).pptx
09-19
第八讲 微分方程模型-传染病模型SISSIR 模型).pptx
SIR传染病模型_传染病模型_传染病_SIR传染病模型的建立_sir_
09-29
进行了常微分方程的建立,并模拟出经典的SIR模型曲线
SIS_1_0.3_传染病模型_传染病_sis_sis传染_SIS模型_
10-02
matlab实现传染病SIS模型的建立与仿真(源代码及曲线图)
7.1 微分方程模型(一)-----传染病模型_soil1uu_传染病模型_疾病传播_传染病_疾病_
10-01
基于传染病模型的疾病传播模型。也可以用于信息传播模型
微分方程传染病模型指数模型-SI模型-SIS模型-SIR模型
weixin_44734502的博客
08-21 1万+
微分方程传染病模型指数模型-SI模型-SIS模型-SIR模型
数学建模中的疾病传播模型
weixin_54718885的博客
09-12 1580
import numpy as np import scipy.integrate as spi import matplotlib.pyplot as plt N = 10000 # N为人群总数 beta = 0.25 # β为传染率系数 gamma = 0 # gamma为恢复率系数 I_0 = 1 # I_0为感染者的初始人数 S_0 = N - I_0 # S_0为易感染者的初始人数 T = 150 # T为传播时间 INI = (S_0, I_0) # INI为初始状态下的数组.
SISISSIR,SEIRD模型
qq_37730871的博客
08-26 7895
因为个人工作需要系统地整理SISIR以及SEIR模型,故对三个模型进行原理介绍以及对比。文中关于SISISSIR的所有的截图都来自西工大肖华勇老师在慕课上的分享,原视频戳SEIRD模型则来自发表在SCI上的paper,想看原文戳。...
传染病模型中作图与计算(matlab,数学模型
i道i的博客
04-18 3790
一、实验要求 1.取k=0.1,画出dt/di~i的曲线图,求i为何值时dt/di达到最大值,并在曲线图上标注。试编写一个m文件来实现。 2.求出微分方程的解析解 i(t),画出如下所示的 i~t 曲线(i(0)=0.15, k=0.2, t=0~30)。试编写一个 m 文件来实现。(在图形窗口菜单选择 Edit/Copy Figure,复制 图形) 3. 取λ=0.1,σ=1.5,画出如下所示的dt/di~i曲线图。试编写一个m文件来实现。(在图形窗口菜单选择 Edit/Copy Figure,
MATLAB实现求解微分方程数值解(完整源码+数据).zip
10-16
MATLAB实现求解微分方程数值解(完整源码+数据).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 MATLAB实现求解微分方程数值解(完整源码+数据).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。MATLAB实现求解微分方程数值解(完整源码+数据).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。MATLAB实现求解微分方程数值解(完整源码+数据).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。MATLAB实现求解微分方程数值解(完整源码+数据).zip 已获导师指导并通过的97分的高分课程设计项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。MATLAB实现求解微分方程数值解(完整源码+数据).zip 已获导师指导并通过的97分的高分课程设计
SARS 模型对应的代码.rar
08-19
简单的传染病模型代码(matlab),小白学习第一天,SIR,SEIR,SARS,状态参数常参数用fmincon,参时变量还不会计算。
matlab传染病模型
06-15
模型完备,建立了传染病模型SI SIR SIS 模型,包含代码过程及matlab截图
基于Matlab实现改进欧拉法求解微分方程组(源码+说明).rar
06-05
基于Matlab实现改进欧拉法求解微分方程组(源码+说明).rar
基于Matlab实现四阶龙格库塔法求解微分方程组(源码+说明).rar
06-07
基于Matlab实现四阶龙格库塔法求解微分方程组(源码+说明).rar
数学建模】基于SIR模型实现新冠病毒COVID-19估计附matlab代码
qq_59747472的博客
08-21 2184
COVID-19是由严重急性呼吸综合症冠状病毒2型引发的传染病,它最初病毒携带者是一些动物,传染源主要是COVID-19患者,无症状患者。传播方式主要是呼吸道飞沫近距离传播,接触传播,还有一些其他的传播方式待后续科研工作进一步证实。2019年12月,目前尚不知来源的新型冠状病毒COVID-19首先被报道于湖北省武汉市,随后由于寒假以及春运返潮等大规模人口流动,2020年1月底COVID-19蔓延扩散至全中国范围,使中国成为新型冠状病毒肺炎的重灾区;
数学建模中的传染病模型及其编程求解
baidu_26746963的博客
06-27 2万+
问题的提出 医生们发现,在一个民族或地区,当某种传染病流传时,波及到的总人数大体上保持为一个常数。即既非所有人都会得病也非毫无规律,两次流行(同种疾病)的波及人数不会相差太大。如何解释这一现象呢?试用建模方法来加以证明。 定义已感染人数为i(t)i(t)i(t),假设每个病人单位时间有效接触(足以使人致病)的人数为λ\lambdaλ,那么,在时间段Δt\Delta tΔt内,病人的增量可以用如下的...
传染病传播模型(含matlab代码)
热门推荐
wmhsjtu的博客
01-25 4万+
传染病传播模型 2020年初,一种新型冠状病毒袭击了中国武汉。 随着卫生设施的改善、医疗水平的提高以及人类文明的不断发展,诸如霍乱、天花等曾经肆虐全球的传染性疾病已经得到有效的控制,但是一些新的、不断变异着的传染病毒却悄悄向人类袭来。长期以来,建立数学模型以描述疾病的传播过程从而寻找抑制传播的方法一直是科学家们探索的方向。但是由于疾病传播的复杂性,仅能从一般的传播机理角度建立大致的传播模型,现介绍...
sir模型微分方程求解
05-14
SIR模型是一种常见的传染病传播模型,其中S表示易感者,I表示感染者,R表示康复者。SIR模型微分方程如下: dS/dt = -βSI dI/dt = βSI - γI dR/dt = γI 其中,β表示感染率,γ表示恢复率。这些微分方程描述了人群中易感者数量、感染者数量和康复者数量随时间变化的规律。 要求解上述微分方程,可以使用数值求解方法。其中,常见的方法包括欧拉法、改进欧拉法、龙格-库塔法等。这些方法的基本思想都是将微分方程离散化,然后通过迭代来逼近微分方程的解。 以欧拉法为例,我们可以将微分方程离散化为: S(t+Δt) = S(t) - βS(t)I(t)Δt I(t+Δt) = I(t) + βS(t)I(t)Δt - γI(t)Δt R(t+Δt) = R(t) + γI(t)Δt 然后,我们可以通过迭代来逼近微分方程的解。具体来说,我们可以从初始时刻开始,依次计算S、I和R在下一个时刻的值,然后将这些值作为下一个时刻的初始值,继续迭代。这样,我们就可以得到S、I和R随时间变化的曲线。 需要注意的是,数值求解方法只能得到近似解,而不是精确解。因此,在使用数值求解方法时,需要注意选择合适的步长和迭代次数,以保证求解结果的精度和稳定性。

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Python,Numpy中随机抽样的函数 np.random.choice()详解 9566
  • 三种方法解决http: TLS handshake error from [::1]:51325: remote error: tls: unknown certificate 4472
  • 微分方程+传染病模型(指数传播、SI、SIS、SIR模型)+MATLAB求解 3978
  • 一个免费好用的PDF转Markdown网站 3992
  • Python中Numpy的np.array详解 3793

分类专栏

  • 区块链课程笔记 11篇
  • 留学之路 2篇
  • 编译原理笔记 5篇
  • 数据库系统原理笔记 3篇
  • 算法分析与设计笔记 9篇
  • 机器学习(Machine Learning) 8篇
  • 从零开始学数学建模学习笔记 24篇
  • 解码AI大模型 2篇
  • 3D游戏编程与设计笔记 3篇
  • 机器学习和数据挖掘笔记 2篇
  • Python——Numpy 4篇

最新评论

  • 区块链第二次实验,加密算法与解密算法——中山大学软件工程学院专选课

    普通网友: 写的真好,细节很到位!【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • 区块链中如何验证交易存在? 如何验证交易不存在?Merkel Proof和Merkel Tree的应用——中山大学软件工程学院专选课《区块链》课堂小测

    普通网友: 大佬高质量文章,图文并茂,逻辑清晰,受益匪浅,期待大佬新作。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • Ubuntu中无法git clone,一直连接不上的解决方法

    小晗姓羰: 我能ping www.google.com但是ping不了www.github.com 表情包

  • 联邦学习中一种低成本的从攻击中恢复的办法——FedRecover: Recovering from Poisoning Attacks 的背景与相关工作、问题定义、FEDRECOVER、评估 研读报告

    小王的Java刷题日记: 导师让我复线这篇文章,感觉好难啊

  • 遗传算法——从做九转大肠和鼠头鸭脖中得到启发

    这里是扁芒吖: 噗哈哈哈好有意思

大家在看

  • 骑手优化算法改进的深度极限学习机DELM的分类 782
  • 计算机云计算常用英语(持续更新) 527
  • 原子轨道搜索算法改进的深度极限学习机DELM的分类 760
  • 微信小程序CSS序列帧性能开支最小方式!
  • ICP经营许可证怎么办理? 717

最新文章

  • Creating Your Personal Homepage with GitHub Pages!
  • Managing Test Files with create_files and delete_files Bash Scripts
  • How to connect VSCode to Ubuntu (including detailed debugging for some incorrect default config)
2023年100篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司张掖如何制作网站哪家好崇左模板推广推荐永新外贸网站建设多少钱九江品牌网站设计公司宿迁模板制作公司淮南网站定制哪家好亳州网页设计哪家好惠州网络广告推广哪家好德州网页制作多少钱白银百度竞价包年推广庆阳推广网站公司宜昌网站搜索优化推荐丹竹头网站优化按天收费公司汕尾设计网站南平百度竞价包年推广报价松原网页设计推荐许昌阿里店铺运营公司宝安网站建设设计价格邵阳网站设计推荐漳州网络广告推广木棉湾seo网站优化多少钱包头网站改版多少钱罗湖网站推广价格海北百度标王多少钱沧州网站关键词优化潜江网站制作公司河源高端网站设计多少钱荷坳英文网站建设济源网站定制西乡外贸网站制作哪家好歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化