美赛BOOM数学建模4-2微分方程传染病预测模型

这篇具有很好参考价值的文章主要介绍了美赛BOOM数学建模4-2微分方程传染病预测模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

注明:本文根据数学建模BOOM网课简单整理,自用

• 指数传播模型与SI模型

❑从最简单的指数传播模型说起

❑ 传染病预测问题

• 不同类型传染病的发病机理和传播途径各有特点

• 有的传染病,在得过一次后可获得免疫力,但有的则不会

• 有的传染病具有潜伏期,有的则没有

• 需要对不同类型的传染病建立相应合适的预测模型

❑ 从最简单的看起:指数传播模型

1. 假设所研究的区域是封闭区域,在一定时期内人口总量不变,不考虑迁入和迁出

2. 在𝑡时刻患病人数𝑁(𝑡)是随时间连续变化的、可微的函数

3. 每个病人在单位时间内会传染到的人数为大于0的常数𝜆

❑ 本期课程重点:模型假设与模型改进的思想

❑指数传播模型

❑ 模型的建立

• 设𝑁(𝑡)为𝑡时刻患病人数,则𝑡 + Δ𝑡时刻的患病人数为𝑁(𝑡 + Δ𝑡)

• 则从𝑡 → 𝑡 + Δ𝑡时间内,净增的患病人数为𝑁 (t + Δ𝑡) − 𝑁(𝑡)

• 根据假设3(每个病人在单位时间内会传染到的人数为大于0的常数𝜆),有:

美赛BOOM数学建模4-2微分方程传染病预测模型

• 注意,𝜆在模型中始终是常数(每个病人在单位时间内会传染到的人数)

❑ 微分方程

• 基于上一页的第2条模型假设,在上面公式等号两边同时除以Δ𝑡,并令Δ𝑡 → 0

• 可得微分方程:

美赛BOOM数学建模4-2微分方程传染病预测模型

• 可求得该模型的解析解:

美赛BOOM数学建模4-2微分方程传染病预测模型

❑ 结果分析

• 模型结果显示,患病人数是指数型增长

• 该模型一般适用于传染病暴发初期

美赛BOOM数学建模4-2微分方程传染病预测模型

• 因为在初期,传染源和传染途径往往未知,难以防范

• 但是按照该模型, 𝑡 → ∞时𝑁(t)→ ∞,这显然是不符合实际的

❑ 模型改进

• 封闭区域内人数有限,当患病人数越来越多时,健康人群的数量也就越来越少

• 那么单位时间内新增的人数( 𝑁(t)的导数)也会减少,毕竟没多少人可以被感染了

• 基于以上分析,对模型进行改进,建立SI模型

❑SI模型

❑ 模型假设

1. 人口总数所研究的区域内人口总数为常数𝑁,既不考虑生死,也不考虑迁移

2. 两类人群人群分为易感染者(susceptible)和已感染者(infective),设𝑡时刻两类人群在总人口中所占的比例分别为s(t)和i(t) ,显然𝑠 (t) + 𝑖 (t) = 1

3. 日感染率每个病人在单位时间(每天)内接触的平均人数为常数𝜆, 称为日感染率;当

病人所接触的是健康者时,会将其感染成病人

4. 不考虑治愈每个病人得病后在传染期内无法治愈,且不会死亡

❑ 注意事项

• 现实中,地区人数并不会真的为常数,总有出生率、死亡率、迁入和迁出等

• 但如果把这些因素考虑进模型,模型会非常复杂;而本题重心是传染病

• 再次强调模型假设的目的:简化问题

❑ 模型建立

细节:第3条假设中𝜆是1个病人单位时间接触的平均人数,接触的人中既有病人也有健康者

• 则1个病人单位时间内可使𝜆𝑠(𝑡)个健康者变为病人

• 在𝑡时刻病人总数𝑁𝑖(𝑡)(N是常数为该地区总人口),𝛥𝑡时间内会新增𝜆𝑠(𝑡)𝑁𝑖(𝑡)𝛥𝑡个病人,则单位时间新增病人数:

美赛BOOM数学建模4-2微分方程传染病预测模型

• 令𝛥𝑡 → 0,得微分方程

美赛BOOM数学建模4-2微分方程传染病预测模型

• 根据第2条假设, 由于s(t)+i(t)= 1,所以可写作

美赛BOOM数学建模4-2微分方程传染病预测模型

• 设𝑡 = 0时,患病人数占总人口的比例为i(0) = 𝑖0 ,则SI模型:

美赛BOOM数学建模4-2微分方程传染病预测模型

• 求解该微分方程,得

美赛BOOM数学建模4-2微分方程传染病预测模型

• 该模型其实就是Logistic模型,𝑖(t)是病人占总人口的比例,最大值为1,即当t→∞时,区域内所有人都被传染

• 医学上称d𝑖(𝑡)/d𝑡为传染病曲线,表示传染病人增加率与时间的关系,如左图所示

• 预测结果如右图所示,随着时间的推移,病人比例接近100%

• 当病人总量占总人口比值达到50%,即i = 0.5时,di/d𝑡达到最大值,此时为传染高峰期

• 根据i(t)的表达式,可得高峰期对应时刻

美赛BOOM数学建模4-2微分方程传染病预测模型
美赛BOOM数学建模4-2微分方程传染病预测模型

❑ 结果意义

高峰期对应时刻

美赛BOOM数学建模4-2微分方程传染病预测模型

医学上该结果具有重要意义

提前预防:若已知日接触率(统计调查等),可预测高峰期到来的时间t𝑚,做好应对准备

• 由于t𝑚与美赛BOOM数学建模4-2微分方程传染病预测模型成反比,若能减小美赛BOOM数学建模4-2微分方程传染病预测模型(隔离、戴口罩等),则t𝑚将变大

• 也就意味着传染病高峰期来得越晚,现实中可能在高峰期到来之前就彻底解决了该传染病

• 注意:比赛时需要根据数学结果,分析求解结果的现实意义,写进论文

但SI模型中未考虑病人得病后可以治愈,𝑡 → ∞时𝑖(𝑡) → 1,即最后所有人都被传染

• 问题源自模型假设中只有健康者变为病人,但病人不会变为健康者,显然不合理

• 进一步分析问题,可建立SIS模型

• SIS模型与SIR模型

❑SIS模型

❑ 模型改进

SI模型中未考虑病人得病后可以治愈,𝑡 → ∞时i(𝑡) → 1,即最后所有人都被传染

• 问题源自模型假设中只有健康者变为病人,但病人不会变为健康者,显然不合理

• 因此,需要同时考虑传染治愈

• 基于以上分析,对模型进行改进,建立SIS模型

❑ SIS模型

• SIS模型在SI模型假设的基础上,进一步假设:

1、治愈比例:每天被治愈的病人人数占病人总数的比例为μ

2、无免疫性:病人被治愈后成为仍可被感染的健康者

• 得到SIS模型:

美赛BOOM数学建模4-2微分方程传染病预测模型

• 可见,SIS模型是比原SI模型多了一项“ − 𝜇𝑖(t)”

❑ SIS模型解析解

• 该模型的解析解为:

美赛BOOM数学建模4-2微分方程传染病预测模型

• 令美赛BOOM数学建模4-2微分方程传染病预测模型传染强度(病人日接触率/病人每日被治愈比例)

• 带入上一页模型的公式,得微分方程和解析解:

美赛BOOM数学建模4-2微分方程传染病预测模型

❑ 结果分析

美赛BOOM数学建模4-2微分方程传染病预测模型

❑ 显然, 传染强度美赛BOOM数学建模4-2微分方程传染病预测模型为一个阈值

• 若美赛BOOM数学建模4-2微分方程传染病预测模型≤ 1,现实意义“病人日接触率≤病人每日被治愈比例”

• 即新增病人少于被治愈病人那么随着t→ ∞,终所有病人都会被治愈

• 若美赛BOOM数学建模4-2微分方程传染病预测模型> 1 ,现实意义“病人日接触率>病人每日被治愈比例”

• 即新增病人多于被治愈病人那么随着t → ∞,总有一定比例的人口会被传染成病人

❑ SIR模型

❑ 模型改进

• 上页分析是建立在假设“无免疫性:病人被治愈后成为仍可被感染的健康者”的基础上

• 进一步考虑现实中天花、麻疹、流感、肝炎等疾病经治愈后均有很强的免疫力

病愈后的人因已具有免疫力,既非易感染者也非病人(已感染者),即这部分人已退出感染

系统,再也不会被感染成患者

• 因此,考虑免疫性,改进为SIR模型

❑ 模型假设

1、人群分易染者(Susceptible)、病人(Infective)和病愈后有免疫力而退出系统的移出者(Removal)

2、设任意时刻𝑡,这三类人群占总人口的比例分别为s(𝑡), 𝑖(𝑡)和𝑟(𝑡) 。

3、病人的日接触率为λ,日治愈率为𝜇

4、人口总数𝑁为固定常数,既不考虑生死,也不考虑迁移

❑ 模型的建立

• 对于全体人群: s(t)+i(t)+r(t)=1

• 对于移出者: (右式根据定义得出)

美赛BOOM数学建模4-2微分方程传染病预测模型

,即移出者人数的变化率是单位时间被治愈的患者数

• 对于患者:

美赛BOOM数学建模4-2微分方程传染病预测模型

• 对于健康者:

美赛BOOM数学建模4-2微分方程传染病预测模型

• 根据以上分析,建立微分方程传染病预测SIR模型

美赛BOOM数学建模4-2微分方程传染病预测模型

❑ 模型分析

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

• 更复杂的情况,考虑有些传染病具有潜伏期,考虑一类人为潜伏者,建立SEIR模型

• 类似的问题:河流各类污染物质的耗氧、复氧、吸附、沉降等

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

• 代码求解微分方程数值解

❑代码求解

求解微分方程

• MATLAB提供了通用的求常微分方程数值解的函数ode45

• 基本语法: https://ww2.mathworks.cn/help/matlab/ref/ode45.html?s_tid=srchtitle_ode45_1#d123e934673

• 预测结果:

美赛BOOM数学建模4-2微分方程传染病预测模型
clc,clear
% 参数初始化
lam = 0.4;      % 日接触率,题中若没给出需要自己查资料,后面同理
mu = 0.1;     % 日治愈率
I = 0.4;
S = 0.5;

% ode45是一个通用型ODE求解器
tspan = [0:1:50];     % 变量t范围0到50
y0 = [I S];     % 传递模型参数,SIR相加等于一求两个即可得出第三个

调用ode45

首先是待求解的微分方程,在MATLAB中定义为函数SIRfunc(其表达式在本文件末尾分节后),还有传递给该函数的参数t和y,以“@(t,y)SIRfunc(t,y,lam,mu)”的形式表达。

其次是积分区间,以tspan表示,是个矩阵,包括积分区间的左右端点数值。如果要获取 t0 到 tf 之间的特定时间的解,使用 [t0,t1,t2,...,tf] 形式的长向量

最后是初始值,用向量y0表示。

本题先求解微分方程:

美赛BOOM数学建模4-2微分方程传染病预测模型
美赛BOOM数学建模4-2微分方程传染病预测模型

求出i和s后,根据s(t)+i(t)+r(t)=1可直接求出r文章来源地址https://www.toymoban.com/news/detail-479239.html

[t,y] = ode45(@(t,y)SIRfunc(t,y,lam,mu), tspan, y0);  %注意ode45的语法
% 求解返回的y中,第一列是第一个方程组的解,第二列是第二个微分方程的解
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 

到了这里,关于美赛BOOM数学建模4-2微分方程传染病预测模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python小白的数学建模课-11.偏微分方程数值解法

    偏微分方程可以描述各种自然和工程现象, 是构建科学、工程学和其他领域的数学模型主要手段。 偏微分方程主要有三类:椭圆方程,抛物方程和双曲方程。 本文采用有限差分法求解偏微分方程,通过案例讲解一维平流方程、一维热传导方程、二维双曲方程、二维抛物方程

    2024年02月14日
    浏览(43)
  • 【数学建模\MATLAB】掌握用Matlab求解微分方程问题

    d y d t = a y 2 cfrac{dy}{dt}=ay^2 d t d y ​ = a y 2 结果 d 3 y d t 3 = b y cfrac{d^3y}{dt^3}=by d t 3 d 3 y ​ = b y 结果 x 2 + y + ( x − 2 y ) y ′ = 0 x^2+y+(x-2y)yprime=0 x 2 + y + ( x − 2 y ) y ′ = 0 结果: d 2 y d t 2 = a y , 初 始 条 件 为 y ( 0 ) = 5 , y ′ ( 0 ) = 1 cfrac{d^2y}{dt^2}=ay, text初始条件为y(0)=5,yprime(

    2024年02月03日
    浏览(29)
  • 【数学建模】常用微分方程模型 + 详细手写公式推导 + Matlab代码实现

    微分方程基本概念 微分方程在数学建模中的应用 微分方程常用模型(人口增长模型、传染病模型) 2022.06.19 微分方程,是指含有未知函数及其导数的关系式。解微分方程就是找出未知函数。 微分方程是伴随着微积分学一起发展起来的。微积分学的奠基人Newton和Leibniz的著作中

    2024年02月09日
    浏览(52)
  • 美赛BOOM数学建模BOOM1-4多目标规划

    既要XXX,又要XXX ❑ 回顾:(非)线性规划都是一个目标函数,例如工业生产产品,追求最大化利润等等。 ❑ 例如:某工厂生产产品Ⅰ和产品Ⅱ,有关数据如下,若只追求最大化利润,得到模型: 现在设有 3个目标 : • 1.尽量使产品Ⅰ的产量不超过产品Ⅱ的产量; • 2.尽可能

    2024年02月16日
    浏览(27)
  • 常微分方程建模R包ecode(一)——构建常微分方程系统

    常微分方程在诸多研究领域中有着广泛应用,本文希望向大家介绍笔者于近期开发的R包 ecode ,该包 采用简洁易懂的语法帮助大家在R环境中构建常微分方程 ,并便利地调用R图形接口,研究常微分方程系统的相速矢量场、平衡点、稳定点等解析性质,或进行数值模拟,进行敏

    2024年02月16日
    浏览(25)
  • 高等数学(微分方程)

    x y ′ ′ ′ + ( y ′ ) 3 + y 4 xy\\\'\\\'\\\'+(y\\\')^3+y^4 x y ′′′ + ( y ′ ) 3 + y 4 quad quad 三阶 y ′ = 2 x y\\\'=2x y ′ = 2 x quad quad quad quad quad quad 一阶 d y = 2 x d x dy=2xdx d y = 2 x d x quad quad quad quad 一阶 ( y ′ ′ ) 5 + 2 y ′ = 3 (y\\\'\\\')^5+2y\\\'=3 ( y ′′ ) 5 + 2 y ′ = 3 quad quad quad 二阶 quad 例1: 已知

    2024年02月10日
    浏览(31)
  • 常微分方程建模R包ecode(三)——探寻平衡点

    在建立常微分方程后,我们常常会问的一个问题是: 这个常微分方程系统中是否存在平衡点?如果存在,这个平衡点是否稳定? 本节将展示如何通过 ecode 包来回答这个问题。 我们首先利用 ecode 包建立一个Lotka–Volterra竞争模型(详见第一节), d x d t = ( r 1 − a 11 x − a 12

    2024年02月13日
    浏览(33)
  • 常微分方程建模R包ecode(二)——绘制相速矢量场

    本节中我们考虑一个更为复杂的常微分方程模型, d X C d t = ν ( X A + Y A ) − β ⋅ X C ⋅ ( Y C + Y A ) − ( μ + g ) ⋅ X C , ( 1 ) d Y C d t = β ⋅ X C ⋅ ( Y C + Y A ) − ( μ + g + ρ ) ⋅ Y C , ( 2 ) d X A d t = g ⋅ X C − β ⋅ X A ⋅ ( Y C + Y A ) , ( 3 ) d Y A d t = β ⋅ X A ∗ ( Y C + Y A ) + g ∗ Y C − ρ ∗

    2024年02月14日
    浏览(28)
  • 数学建模美赛(模型积累2)

    看这个,写的很详细(๑•̀ㅂ•́)و✧ DBSCAN聚类:基于密度的方法的特点是不依赖于距离,而是依赖于密度,从而克服基于距离的算法只能发现“球形”聚簇的缺点 爬虫入门教程:【Python+爬虫】爆肝两个月!拜托三连了!这绝对是全B站最用心(没有之一) (这个up讲课很可

    2024年02月19日
    浏览(29)
  • 【数学建模美赛】【LaTeX】论文模板

    在数学建模竞赛中,往往论文的版面与美观占一定的分数,而大多数都利用word排版,因为word排版简单方便,但在最后转pdf时会出现版面的错乱情况,所以这会影响最终的成绩。因此我们可以采用LaTeX进行论文的排版,使论文的版面更加自然。LaTeX排版需要一定的编程基础,这

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包