基于龙格库塔算法的SIR病毒扩散预测matlab仿真

目录

1.程序功能描述

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

3.核心程序

4.本算法原理

5.完整程序


1.程序功能描述

      基于龙格库塔算法的SIR病毒扩散预测,通过龙格库塔算法求解传染病模型的微分方程。输出易受感染人群数量曲线,感染人群数量曲线,康复人群数量曲线。

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

MATLAB2022a版本运行

3.核心程序

..........................................................
Time1   = 1;                % 设定时间区间的起始点a为1  
Time2   = 215;              % 设定时间区间的终止点b为215  
Ra0     = 2.79;             % 设定基本再生数R_0为2.79  
Popu    = 9969510;  % 设定总人口数  
Popv    = 2387785; % 设定已接种疫苗的人数  
Seck0   = 116;            % 设定初始感染者人数  
Recv0   = 1232727;        % 设定初始康复者人数  
gamma   = 1/10;         % 设定康复率gamma为1/10  
Seck1   = Popu - Popv - Recv0; % 计算初始易感者人数  
beta    = (Ra0*gamma)/(Seck1); % 计算感染率beta  
% 设定初始状态向量y,包括易感者、感染者和康复者  
y       = [Seck1, Seck0, Recv0];  
f       = @(t,y) [-beta*y(1)*y(2); y(2)*(beta*y(1) - gamma); gamma*y(2)]; % 定义微分方程组  [t,w] = func_rungekutta(Time1,Time2,360,y,f); % 使用Runge-Kutta方法求解微分方程组  figure(1)            % 创建第一个图形窗口  
hold on;              % 保持当前图形,以便在同一图形上绘制多条曲线  
plot(t,w,"LineWidth",2); % 绘制曲线,线宽为2  
legend('易受感染','感染','恢复');    
title('新冠-洛杉矶'); % 添加标题  
xlabel('时间 (days)');    
ylabel('人口');   ....................................................................
20  

4.本算法原理

        SIR模型是传染病动力学中经典的数学模型之一,用于描述在封闭人群中疾病的传播过程。模型假设人群被分为三个互不相交的类别:易感者(Susceptible,记为S),感染者(Infected,记为I),和康复者(Recovered,记为R)。SIR模型通过一组常微分方程来描述这三类人群之间的动态变化。SIR模型可以用以下常微分方程组来表示:

SIR模型解释

  • 第一个方程描述了易感者人数的减少,这是由于易感者与感染者接触后被感染。
  • 第二个方程描述了感染者人数的变化,它由两部分组成:新感染的人数(正比于易感者和感染者的乘积)和康复的人数(正比于感染者人数)。
  • 第三个方程描述了康复者人数的增加,它与感染者康复的人数相等。

初始条件和参数

        为了求解SIR模型,需要设定初始条件 (S(0)),(I(0)),和 (R(0)),以及参数 (\beta) 和 (\gamma)。初始条件通常根据疫情爆发初期的观察数据来确定,而参数则需要通过拟合模型到实际数据来估计。

模型求解

        SIR模型可以通过多种方法求解,包括解析解法和数值解法。对于非线性微分方程,通常使用数值解法,如欧拉法、龙格-库塔法等。在实际应用中,由于模型通常是非线性的,因此数值解法更为常用。

预测和控制

        通过求解SIR模型,可以预测未来一段时间内感染者人数的变化趋势,从而为公共卫生决策提供支持。例如,可以预测疫情高峰到来的时间和规模,评估不同干预措施(如社交隔离、疫苗接种等)对疫情发展的影响。

模型局限性

       尽管SIR模型在描述疾病传播方面非常有用,但它也有一些局限性。例如,它假设人群是均匀混合的,忽略了空间结构和人口异质性;它假设康复者不会再次感染,这在某些情况下可能不成立;此外,模型参数可能需要随着疫情的发展而调整。

5.完整程序

VVV

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nextjs + ahooks 报错 Cannot use import statement outside a module

在 nextjs 中使用 ahooks 时,报错 SyntaxError: Cannot use import statement outside a module,如下图所示: 解决方案 transpilePackages 官网介绍 Next.js can automatically transpile and bundle dependencies from local packages (lik…

【Flutter 开发实战】Dart 基础篇:常见的数据类型

Dart 支持许多数据类型,包括我们常见的 Numbers(数值类型)、Strings(字符串类型)、Booleans(布尔类型),也支持一些包括 Collections(集合类型)、Records&…

idea编译报错(Maven项目)

idea编译报错 找不到符号 第一步:开启注解处理器 第二步:清理MVN,package并重新编译 第三步:重新导入项目:

vue element-ui的table列表中展示缩略图片效果实例

这篇文章主要给大家介绍了关于vue element-ui的table列表中展示多张图片(可放大)效果的相关资料,文中通过代码示例介绍的非常详细,需要的朋友可以参考下 一、效果图 二、代码部分 1、原理 使用 <el-table-column> 和 <el-image> 组件来在表格中插入缩略图 2、te…

杨中科 .NETCORE NuGet

一 简介 Zack.EFCore.Batch 使用这个开发包Entity Framework Core用户可以使用LINQ语句删除或者更新多条数据库记录&#xff0c;操作只执行一条SQL语句并且不需要首先把实体对象加载到内存中。这个开发包支持Entity Framework Core 5.0以及更高版。 操作说明: 第一步 Install-…

腾讯NUS推出下一代多模态智能,支持2/3D视觉、听觉、触觉、脑电

多模态感知一直是通用人工智能发展的关键领域。理想中的智能体能像人类一样感知多种模态信息&#xff0c;如视觉、听觉、嗅觉、触觉等&#xff0c;并与用户进行自然交互。然而&#xff0c;现有的大型模型虽然在图像和文字上表现出色&#xff0c;但对其他模态&#xff08;如3D点…

Qt QSpinBox微调框控件

文章目录 1 属性和方法1.1 值1.2 步长1.3 循环1.4 加速1.5 前缀和后缀1.6 信号和槽 2 实例2.1 布局2.2 代码实现 微调框&#xff0c;允许用户按照一定的步长&#xff0c;来增加或减少其中显示的数值 修改微调框数值的方式包括&#xff1a; 单击右侧的向上/向下按钮按键盘的向上…

LINUX——动/静态库

加油加油~ 目录&#xff1a; 动/静态库是什么&#xff1f; .o文件是什么&#xff1f; 以gcc编译器为例&#xff0c;查看xxx.i xxx.s xxx.o文件 生成test.i文件(预处理) 生成test.s文件(编译) 生成test.o文件(汇编) 生成可执行程序(链接)&#xff1a; 小结&#xff1a…

Git 基础指令

Git 基础指令 本章涵盖了我们在使用 Git 完成各种操作时将会用到的各种基本命令。 在学习完本章之后&#xff0c;我们应该能够配置并初始化一个仓库&#xff08;repository&#xff09;、开始或停止跟踪&#xff08;track&#xff09;文件、暂存&#xff08;stage&#xff09;…

模拟数字转换器

本节主要介绍以下内容&#xff1a; ADC简介 ADC功能框图详解 参考资料:《零死角玩转STM32》“ADC—电压采集”章节 一、ADC简介 ADC &#xff1a;Analog to Digital&#xff0c;模拟数字转换器 三个独立的ADC 1 / 2 / 3分辨率为12位每个ADC具有18个通道&#xff0c;其中…

代码随想录刷题笔记(DAY 10)

今日总结&#xff1a;快要期末考试了&#xff0c;现在在疯狂速成&#xff0c;今天稍微缓和了一点&#xff0c;应该能保证继续每天刷题&#xff0c;欠下的那些寒假补上。 Day 10 01. 用栈实现队列&#xff08;No. 232&#xff09; 题目链接 代码随想录题解 1.1 题目 请你仅…

AcWing1210-连号区间

文章目录 题目输入格式输出格式数据范围样例输入样例1输出样例1输入样例2输出样例2样例解释 思路代码 题目 输入格式 输出格式 数据范围 样例 输入样例1 4 3 2 4 1 输出样例1 7 输入样例2 5 3 4 2 5 1 输出样例2 9 样例解释 思路 固定L&#xff0c;遍历R在[L,R]区域中找到最大…

参数小,性能强!开源多模态模型—TinyGPT-V

安徽工程大学、南洋理工大学和理海大学的研究人员开源了多模态大模型——TinyGPT-V。 TinyGPT-V以微软开源的Phi-2作为基础大语言模型&#xff0c;同时使用了视觉模型EVA实现多模态能力。尽管TinyGPT-V只有28亿参数&#xff0c;但其性能可以媲美上百亿参数的模型。 此外&…

仿蓝奏云网盘 /file/list SQL注入漏洞复现

0x01 产品简介 仿蓝奏网盘是一种类似于百度网盘的文件存储和共享解决方案。它为用户提供了一个便捷的平台,可以上传、存储和分享各种类型的文件,方便用户在不同设备之间进行文件传输和访问。 0x02 漏洞概述 仿蓝奏云网盘 /file/list接口处存在SQL注入漏洞,登录后台的攻击…

Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEvent

文章目录 Pre概述Code源码分析 Pre Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEvent 概述 Spring Boot 的广播机制是基于观察者模式实现的&#xff0c;它允许在 Spring 应用程序中发布和监听事件。这种机制的主要目的是为了实现解耦&#…

RabbitMQ入门到实战——高级篇

消息的可靠性 生产者的可靠性&#xff08;确保消息一定到达MQ&#xff09; 生产者重连 这⾥除了enabled是false外&#xff0c;其他 initial-interval 等默认都是⼀样的值。 生产者确认 生产者确认代码实现 application中增加配置&#xff1a;&#xff08;publisher-returns…

《MySQL系列-InnoDB引擎06》MySQL锁介绍

文章目录 第六章 锁1 什么是锁2 lock与latch3 InnoDB存储引擎中的锁3.1 锁的类型3.2 一致性非锁定读3.3 一致性锁定读3.4 自增长与锁3.5 外键和锁 4 锁的算法4.1 行锁的三种算法4.2 解决Phantom Problem 5 锁问题5.1 脏读5.2 不可重复读5.3 丢失更新 6 阻塞7 死锁 第六章 锁 开…

深度解析Cron表达式:精确控制任务调度的艺术

深度解析Cron表达式&#xff1a;精确控制任务调度的艺术 希望我们都可以满怀期待的路过每一个转角 去遇见 那个属于自己故事的开始 去追寻那个最真实的自己 去放下 去拿起 安然&#xff0c;自得&#xff0c;不受世俗牵绊… 导言 在计算机科学领域&#xff0c;任务调度是一项关…

【PyQt5设计】:自动点击神器 - 解决重复性的点击和输入操作

文章目录 自动点击神器介绍测试窗口介绍自动点击神器的使用教程资源领取注意事项 自动点击神器介绍 本次使用PyQt5设计的【自动点击神器】旨在解决重复性的点击工作&#xff0c;解放双手&#xff0c;具有及时性和准确性&#xff0c;可选择坐标位置或图片两种方式实现鼠标的定位…

横版动作闯关游戏:幽灵之歌 GHOST SONG 中文版

在洛里安荒凉的卫星上&#xff0c;一件长期休眠的死亡服从沉睡中醒来。踏上发现自我、古老谜团和宇宙骇物的氛围2D冒险之旅。探索蜿蜒的洞穴&#xff0c;获得新的能力来揭开这个外星世界埋藏已久的秘密。 游戏特点 发现地下之物 探索这个广阔而美丽如画&#xff0c;充满密室和诡…