传染病模型


title: 传染病模型
date: 2023-7-24 10:55:00
updated: 2023-7-24 10:55:00
tags:

  • 算法
  • 数学建模
  • 传染病模型
  • matlab
    categories: 数学建模

传染病模型中的符号表示

1.png
2.png

SI模型(艾滋传染模型)

3.png
a42ebb91323b837f6bb51919a5b6fe0.png


%% 直接求微分方程的解析解
dsolve('Dx1 = -0.1 * x1 * x2 / 1000', 'Dx2 = 0.1 * x1 * x2 / 1000','x1(0) = 999, x2(0) = 1', 't');%% 根据S + I = N做一个化简x1 = dsolve('Dx1 = -0.1 * x1 * (1000 - x1) / 1000', 'x1(0) = 999', 't');
x2 = 1000 - x1;figure(1)
fplot(x1, [0 200], 'b')
hold on
fplot(x2, [0 200], 'r')
legend('易感者', '感染者')%% 这道题目可以求出解析解,但是后面的大部分题目都是求不出解析解这里我们再熟悉一遍数值解的求解过程clc; clear
global TOTAL_N
TOTAL_N = 1000;
i0 = 1;
s0 = 999;
[t, x] = ode45('fun1', [1:200], [s0, i0]);
plot(t, x(:, 1), 'r-*');
hold on
plot(t, x(:, 2), 'b-+')'
legend('易感者', '感染者')

function dx = fun1(t, x)global TOTAL_Nbeta = 0.1;dx = zeros(2, 1);dx(1) = - beta * x(1) * x(2) / TOTAL_N;dx(2) = beta * x(1) * x(2) / TOTAL_N;
end

1.png

SIS模型(普通传染病模型 )

2.png
156739ca74ef235912a5c5b559ed51f.png

%% 
clc;clear
global TOTAL_N
TOTAL_N = 1000;
global alfa;
alfa = 0.06;
global beta
beta = 0.1;
i0 = 1;
s0 = 999;
[t, x] = ode45('fun1', [1:500], [s0, i0]);
plot(t, x(:, 1), 'r-*');
hold on
plot(t, x(:, 2), 'b-+')'
legend('易感者', '感染者')

3.png

SIR模型

4.png
5.png

这里关于总人数毫无疑问 N = S + I + R但是在传染过程中,由于康复者已经有抗体且不会再被感染,所以这里有效人群就不能再把R计算在内了,N’ = S + I


%%
clc; clear all;
N = 1000;
i0 = 1;
s0 = 999;
r0 = 0;
[t, x] = ode45('fun1', [1:500], [s0 i0 0]);
x = round(x);
figure(1);
plot(t, x(:, 1), 'r-');
hold on 
plot(t, x(:, 2), 'b-');
hold on
plot(t, x(:, 3), 'g-');
hold on
legend('易感者S','感染者I','康复者R')
function dx = fun1(t, x)beta = 0.1;gamma = 0.02;% x(1)表示S,x(2)表示I, x(3)表示Rdx = zeros(3,1);C = x(1) + x(2);dx(1) = - beta * x(1) * x(2) / C;dx(2) =  beta * x(1) * x(2) / C - gamma * x(2);dx(3) = gamma * x(2);
end

6.png

对SIR模型的拓展
7.png

function dx = fun1(t, x)beta = 0.1;gamma = 0.02;if t > 100gamma = gamma * 10;end% x(1)表示S,x(2)表示I, x(3)表示Rdx = zeros(3,1);C = x(1) + x(2);dx(1) = - beta * x(1) * x(2) / C;dx(2) =  beta * x(1) * x(2) / C - gamma * x(2);dx(3) = gamma * x(2);
end

8.png
拓展2:考虑死亡率
9.png
10.png

SIRS模型

11.png
3.png

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

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

相关文章

SSIS对SQL Server向Mysql数据转发表数据 (三)

1、在控制流界面,在左侧的组件里,添加一个“序列容器组件”和一个“数据流任务组件” 2、双击数据流任务,进入到数据流界面,然后再在左面添加一个OLE DB 源组件、目标源组件 3、右键源组件,编辑,选择好相关…

Aerotech系列文章(3)运动设置命令Motion Setup Commands

1.运动设置命令Motion Setup Commands 斜坡类型: 直线,S曲线,与正弦曲线 Enumerator: RAMPTYPE_Linear Linear-based ramp type. RAMPTYPE_Scurve S-curve-based ramp type. RAMPTYPE_Sine Sine-based ramp type. 函数原型&a…

2023年 React 最佳学习路线

CSS CSS JavaScript JavaScript TypeScript 目前没有找到比其他文档好很多的文档地址 可以先看官网 React 新版 React 官方文档无敌 React React-router-dom V5 V6 Webpack webpack Antd antd

神码ai火车头伪原创设置【php源码】

大家好,给大家分享一下python考什么内容,很多人还不知道这一点。下面详细解释一下。现在让我们来看看! 火车头采集ai伪原创插件截图: 1、Python 计算机二级都考什么 Python要到什么程度 考试内容 一、Python语言的基本语法元素…

Jenkins 拉取 GitHub 私有仓库失败问题

添加仓库的时候提示 stderr: fatal: Cannot prompt because user interactivity has been disabled. 把在 GitHub账户设置中生成的个人访问令牌填到地址里

如何使用Flask-WTF来处理表单提交和验证?

处理表单提交和验证是个麻烦的问题,但是我们可以使用Flask-WTF让它变得简单一些!Flask-WTF是一个Flask插件,它结合了Flask和WTForms,使得在Flask应用中处理表单变得非常简单。 首先,我们要安装Flask-WTF。你可以使用p…

技术分享 | App测试时常用的adb命令你都掌握了哪些呢?

adb 全称为 Android Debug Bridge(Android 调试桥),是 Android SDK 中提供的用于管理 Android 模拟器或真机的工具。 adb 是一种功能强大的命令行工具,可让 PC 端与 Android 设备进行通信。adb 命令可执行各种设备操作&#xff0…

UE5引擎源码小记 —反射信息注册过程

序 最近看了看反射相关的知识,用不说一点人话的方式来说,反射是程序在运行中能够动态获取修改或调用自身属性的东西。 一开始我是觉得反射用处好像不大,后续查了下一些反射的使用环境,发现我格局小了,我觉得用处不大的…

43.240.75.X服务器是什么,有什么作用?

什么是服务器?今天我们来了解下服务器到底是什么?还有服务器用途是什么?让我们对服务器有一个简单的了解。 43.240.75.1什么是服务器? 服务器是一台专门用于存储、处理和传输数据的计算机设备。它在网络中扮演着重要角色&#x…

cnvd水证书

日常水个证书 本人比较菜,挖cnvd总是挖不倒漏洞,只能从弱口令入手了,一般使用fofa脚本批量跑。 过程: 日常在佛法中我们总是会遇见设备弱口或系统弱口令 一般是看登录成功的特征和口令,写一个对应的弱口令检测脚本…

Linux虚拟机(lvm)报Unmount and run xfs_repair

问题 linux系统没有正常关机,今天启动虚拟机无法进入系统,提示metadata corruption deleted at xxxx; Unmount and run xfs_repair 分析 主机异常掉电后里面的虚拟机无法启动,主要是损坏的分区 解决 看出来应该是dm-0分区损坏…

unity表情显示在android或者ios原生页面上

国际通用表情库,附带表情unicode码 在unity里面将unicode码转换成字符串,然后就可以再android和ios原生上显示了, 如下是在unity里面将unicode码转字符串方法: string unicodeString char.ConvertFromUtf32((int)emojiSprite.un…

kubernetes中常见的exited code总结

什么是容器退出码 当容器终止时,容器引擎使用退出码来报告容器终止的原因。如果是 Kubernetes 用户,容器故障是 pod 异常最常见的原因之一,了解常见的容器退出码可以帮助在排查时更快捷找到 pod异常的根本原因。可以参考https://komodor.com…

WebClient,HTTP Interface远程调用阿里云API

HTTP Interface Spring 允许我们通过定义接口的方式&#xff0c;给任意位置发送 http 请求&#xff0c;实现远程调用&#xff0c;可以用来简化 HTTP 远程访问。需要webflux场景才可 <dependency><groupId>org.springframework.boot</groupId><artifactId&…

Spring中最简单的过滤器和监听器

1. 过滤器概念引入 Filter也称之为过滤器&#xff0c;它是Servlet技术中最实用的技术&#xff0c;Web开发人员通过Filter技术&#xff0c;对web服务器管理的所有web资源&#xff1a;例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截&#xff0c;从而实现一些特殊的功…

uniapp 微信小程序:页面+组件的生命周期顺序

uniapp 微信小程序&#xff1a;页面组件的生命周期顺序 首页页面父组件子组件完整顺序参考资料 这个uniapp的微信小程序项目使用的是 VUE2 首页 首页只提供了一个跳转按钮。 <template><view><navigator url"/pages/myPage/myPage?namejerry" hov…

kafka服务端允许生产者发送最大消息体大小

1、kafka config服务端配置文件server.properties server.properties中加上的message.max.bytes配置&#xff0c;我目前设置为5242880&#xff0c;即5MB&#xff0c;可以根据实际情况增大。 message.max.bytes5242880 在生产者端配置max.request.size&#xff0c;这是单个消息…

【React】精选5题

第1题&#xff1a;简述下 React 的生命周期&#xff1f;每个生命周期都做了什么&#xff1f; React 组件的生命周期可以分为三个阶段&#xff1a;挂载阶段、更新阶段和卸载阶段。每个生命周期方法都有特定的目的和功能。 挂载阶段&#xff1a; constructor&#xff1a;组件的构…

protobuf入门实践2

如何在proto中定义一个rpc服务? syntax "proto3"; //声明protobuf的版本package fixbug; //声明了代码所在的包 &#xff08;对于C来说就是namespace)//下面的选项&#xff0c;表示生成service服务类和rpc方法描述&#xff0c; 默认是不生成的 option cc_generi…

如何正确使用npm常用命令

npm常用命令&#xff1a; 官方文档&#xff1a;CLI Commands | npm Docs 1. npm -v&#xff1a;查看 npm 版本 2. npm init&#xff1a;初始化后会出现一个 Package.json 配置文件&#xff0c;可以在后面加上 -y&#xff0c;快速跳到问答界面 3. npm install&#xff1a;会…