基于SIR模型的疫情发展趋势预测算法matlab仿真

news/2024/9/29 15:18:35

1.程序功能描述
基于SIR模型的疫情发展趋势预测算法.对病例增长进行SIR模型拟合分析,并采用模型参数拟合结果对疫情防控力度进行比较。整体思路为采用SIR微分方程模型,对疫情发展进行过程进行拟合。

2.测试软件版本以及运行结果展示
MATLAB2022a版本运行

 

3.核心程序

Opt=optimset; % 创建优化设置结构体
Opt.LargeScale ='off'; % 关闭大规模算法
Opt.TolFun     = 1e-30; % 设置函数值收敛容忍度
Opt.Tolx       = 1e-20; % 设置自变量收敛容忍度
Opt.TolCon     = 1e-30; % 设置约束收敛容忍度b0=[0.0000046,0.02,10000,10,0]'; % 初始化需要拟合的参数
%有约束极小优化参数
[btarget,y]=fmincon(@func_parameter,b0,[],[],[],[],bmin,bmax,[],Opt);%%
% 使用优化后的参数计算预测数据
date=0:120;% 定义新的日期范围
% 原始日期数组
dateRaw=0:length(real_data)-1;
% 使用优化后的参数解ODE
[date,X]=ode45(@func_SIR,date,btarget(3:5),[],btarget(1:2));S=X(:,1); % 提取易感者数量
I=X(:,2); % 提取感染者数量
R=X(:,3); % 提取移除者数量
35

  

4.本算法原理
疾病传播模型采用的是SIR模型,模型结构如下图所示。

 

总人群由易感人群(S)、感染者(I)、隔离者(R)三部分构成。在计算过程中,总人口数目(N)保持不变:感染者具有传染能力,其每日接触易感人群数为 λ。而相应的,每日医疗机构会隔离比例为 μ 的患者,被隔离之后,感染者不再接触易感人群,丧失传染疾病的能力。

通过对上述微分方程组进行解析或数值求解,可以得到随时间变化的S(t), I(t), R(t) 函数,进而预测疫情发展趋势。通常情况下,需要根据实际情况确定参数β 和γ 的值,有时可以通过历史数据进行参数估计。

SIR模型为分析传染病传播动态提供了基础框架,但也存在一些简化假设,例如忽略了年龄结构、免疫效果等因素。在实际应用中,SIR模型可以进行多种扩展,如加入潜伏期的SEIR模型(Susceptible-Exposed-Infectious-Recovered)、考虑出生和死亡的SIRD模型(Susceptible-Infected-Recovered-Dead)等。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/56054.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

毕设开发日记第一阶段

第一阶段完成任务其实很简单,但是因为是第一次使用Unity,美术方面也可以说是零基础,我还是花费了好几天的时间在第一阶段的开发上面。 首先我确定是做一个2D的人物移动自由世界的游戏,所以我这边采用Unity作为游戏开发引擎,aseprite作为美术开发工具。 人物动画我刚开始尝…

Dubbo学习圣经:从入门到精通 Dubbo3.0 + SpringCloud Alibaba 微服务基础框架

文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,…

【日记】领导和领导之间差距还挺大(1223 字)

正文今天属实体验到了一波领导和领导之间的差距。7,8,9,10 号公休,今天省分行突然发通知,说信贷人员上岗资格考试 9.7 号下午考。我上午 10:30 从成都飞哈尔滨的机票。假条都批了。我跑去跟副行长汇报,副行长直接跟我说,那你能克服的还是克服一下,改签吧,考完再去公休。我…

2024Hvv漏洞汇总(128个POC)

2024年9月3日 Hvv情报搜集,漏洞合集全部都有POC(128个POC),可成功复现。2024Hvv漏洞整理(128个POC) ​(网上漏洞零零散散)下面是收集到的且有POC的漏洞整理合集,鄙人分了三种格式供各位提取,下面贴上目录与图片,由于字数有点大,各位请移步网盘自行提取。按照Hvv时间…

Spring boot 2.x集成swagger

1、官方文档2、历史版本安装 如果使用的不是最新的spring boot版本,则进入红框链接,打开历史版本列表。图片中也说明了springdoc-openapi v1.8.0 is the latest Open Source release supporting Spring Boot 2.x and 1.x.3、2.x版本文档 https://springdoc.org/v1/

初赛模拟题一

初赛模拟题一 T1 (C++ %)C++ "%" 的规则 \[a \% b = c \]\[c = a - \lfloor \frac{a}{b} \rfloor * b \]\(\lfloor \rfloor\) 的规则: 向 0 取整, 如 \((-9) / 5 = -1\),\(9 / 5 = 1\)T3 (GDB)GDB 全称“GNU symbolic debugger”,从名称上不难看出,它诞生于 GNU…

地理围栏,打造智能生活新边界

随着智能手机和其他移动设备的普及,用户对基于位置获取个性化服务的需求大幅增加,例如用户进入商圈范围并停留操作一段时间后,智能触发向用户推送该商圈吃、喝、玩、乐的优惠活动消息;又如当用户到达非常驻地的机场时触发围栏,向用户推送询问是否需要预定机场附近的酒店的…