传染病模型(1)——SI模型及matlab详解

article/2025/9/25 11:57:15

前言

常见的传染病模型按照具体的传染病的特点可分为 SI、SIS、SIR、SIRS、SEIR 模型。其中“S”“E”“I”“R”的现实含义如下:

S (Susceptible),易感者,指缺乏免疫能力健康人,与感染者接触后容易受到感染;

E (Exposed),暴露者 ,指接触过感染者但暂无传染性的人,可用于存在潜伏期的传染病;

I (Infectious),患病者,指有传染性的病人,可以传播给 S,将其变为 E 或 I ;

R (Recovered),康复者,指病愈后具有免疫力的人,如是终身免疫性传染病,则不可被重新变为 S 、E 或 I ,如果免疫期有限,就可以重新变为 S 类,进而被感染。

一、SI传染病模型及matlab代码

        适用于只有易感者和患病者两类人群,且不会反复发作的疾病。

        记总人数为N,则N=S+E+I+R,这是各类人群的数量关系,在SI模型中没有E和R,即

                                                                                  N=S+I

        记i和s为易感者S和患病者I占总数N的比例,S=N\cdot s

        易感者S和患病者I之间的关系是患病者接触易感者将易感者转化为患病者,并且易感者者越多、患病者越多,转化为患病者的人也就越多。记单个患病者每天接触\lambda \cdot s个易感者,\lambda是接触率即单个患病者每天平均接触的易感者比例。

        那么患病者每天增加的比例为

                                                                  \frac{di}{dt}= i\times\lambda \cdot s=i\times\left ( 1-i \right )\lambda

       患病者每天增加的数量为

                                                                  \frac{dI}{dt}= I\times\lambda \cdot S/N=I\times\left ( 1-I \right )\lambda/N

        这个微分方程能够求解,其原函数为

                                                                    I\left ( t \right )=\frac{N}{1+\left ( N/I_{0}-1 \right )\cdot e^{-\lambda t}}

        原函数代码为

clc;
close all;
clear all;
I=10;
N=10000;
S=N-I;
lemda=0.1;
t=1:365;
for i=1:(size(t,2)-1)I(1+i)=I(i)+I(i)*(N-I(i))*lemda/N;S(1+i)=N-I(1+i);
end
plot(t,I,t,S)
xlabel('时间')
ylabel('人数')
legend('患病者','易感者')
title('SI传染病模型')

        结果为

                                                  

        考虑到除了求解原函数还可以采用差分代替微分的方法

 

        结果十分接近

                                                  


http://chatgpt.dhexx.cn/article/kJ9pRma8.shtml

相关文章

Python:SEIR传染病模型

Hello,大家好!好久没有更新了,今天给大家介绍一个非常经典的模型——SEIR传染病模型! SEIR传染病模型 模型介绍S、E、I、R代表的含义模型建立变量解释建立微分方程转化迭代形式 Python实现总结获得源代码 模型介绍 传染病的基本…

经典的传染病模型简介 + SIS情况分析

传染病模型简介 SIS情况分析 简介各类经典传染病模型(基础形式)SIS模型假设符号说明微分方程组模型结论 经典传染病模型的缺陷 简介 研究传染病模型,对社会经济和维持秩序有重大意义,尤其在过去的2020年,新冠疫情爆发…

传染病模型

参考:https://www.zhihu.com/question/367466399?fromgroupmessage 假定人群分为4种,分别是: SUSCEPTIBLES:易感者,潜在的可感染人群。EXPOSED:潜伏者,已经被感染没有表现出来的人群。INFECTIVES&#xf…

微分方程传染病模型之指数模型-SI模型-SIS模型-SIR模型

传染病(瘟疫)经常在世界各地流行,如霍乱、天花、艾滋病、SARS、新型冠状病毒、H5N1病毒等,建立传染病的数学模型,分析其变化规律,防止其蔓延是一项艰巨的任务,这里就一般的传染规律讨论传染病的…

数学模型:传染病模型

传染病模型 需要考虑的问题基本方法模型1模型2(SI模型)模型3(SIS模型)模型4(SIR模型) 需要考虑的问题 描述传染病的传播过程分析受感染人数的变化规律预报传染病高潮到来的时刻预防传染病蔓延的手段 基本…

传染病模型知识储备

一、模型中的人群分类 S (Susceptible),易感者,指缺乏免疫能力健康人,与感染者接触后容易受到感染; E (Exposed),暴露者 ,指接触过感染者但暂无传染性的人,可用于存在潜伏期的传染病&#xff…

传染病模型-SIR

一、模型背景 传染病模型指传染病的基本数学模型,主要研究传染病的传播速度、空间范围、传播途径、动力学机理等问题,以指导对传染病的有效地预防和控制。常见的传染病模型按照传染病类型分为 SI、SIR、SIRS、SEIR 模型,本文着重介绍其中的SI…

C语言用函数、递归的方法求n的阶乘

函数fac代码 当n<1时&#xff0c;结果为1 当n>1时&#xff0c;n只要乘前一个n的阶乘值就是n的阶乘&#xff0c;即&#xff1a;n*fac(n-1) int fac(int n) {if(n<1)return 1;elsereturn n*fac(n-1); } 主函数代码 int main() {int n0;int ret0;scanf("%d&quo…

通过C语言实现函数的递归 ---自己调用自己

Hellow&#xff0c;我是jack&#xff0c;今天给大家分享的是C语言实现函数的递归调用。 在使用递归调用时&#xff0c;我们应明白以下几点&#xff1a; 1.存在限制条件 限制条件不存在时&#xff0c;不在递归 2.递归越来越接近结尾 3.递归层次不能太深 注意这几点就是让我们在…

C++语言基础--递归函数

对于很多编程初学者来说&#xff0c;递归算法是学习语言的最大障碍之一。可能也有一大部分人知道递归&#xff0c;也能看的懂递归&#xff0c;但在实际做题过程中&#xff0c;却不知道怎么使用 递归的定义 1、很官方的说法 递归&#xff0c;在数学与计算机科学中&#xff0c;…

11.函数(C语言)+递归函数(超清晰图解递归)

函数 1.函数是什么&#xff1f;2.库函数1&#xff09;库函数的基本知识2&#xff09;初识几个库函数 3.自定义函数自定义函数的组成 4.函数参数1 )实际参数&#xff08;实参&#xff09;&#xff1a;2) 形式参数&#xff08;形参&#xff09;&#xff1a; 5.函数调用1) 传值调用…

C语言之函数递归

前言   从前有座山&#xff0c;山里有座庙&#xff0c;庙里有个老和尚&#xff0c;正在给小和尚讲故事呢&#xff01;故事是什么呢&#xff1f;"从前有座山&#xff0c;山里有座庙&#xff0c;庙里有个老和尚&#xff0c;正在给小和尚讲故事呢&#xff01;故事是什么呢&…

C语言——函数递归

文章目录 前言递归的概念递归的两个必要条件例题1.递归实现阶乘2.递归实现strlen函数3.计算一个正整数各位数字的和4.递归实现整数n的整数k次方5.递归实现斐波那契数6.递归实现字符串逆序7.汉诺塔8.青蛙跳台阶9.将一个十进制数以二进制的形式打印 前言 本文总结了几个递归基础例…

C语言的递归函数

递归函数&#xff08;一&#xff09; 递归就是一个函数在它的函数体内调用它自身。 执行递归函数将反复调用其自身&#xff0c;每调用一次就进入新的一层。 注意递归函数必须有结束条件 递归函数&#xff08;二&#xff09; 5的阶乘这个例子进行一下剖析&#xff0c;看一看他…

函数递归调用(c语言为例)

定义:在调用一个函数的过程中又出现直接或间接调用该函数本身&#xff0c;称为函数的递归调用。 int fun(int x){return fun(x2);//在执行f函数的过程中又要调用f函数 } 在调用函数f的过程中&#xff0c;又要调用f函数&#xff0c;这是直接调用本函数&#xff0c;如图1 图 1 如…

【C语言】函数递归(详解)

文章目录 函数递归什么是递归&#xff1f;递归的俩个必要条件代码引例1栈溢出&#xff08;Stack Overflow&#xff09; 合理使用递归代码引例3代码引例4解释要合理使用递归 结束语 函数递归 程序调用自身的编程技巧称为递归 recursion&#xff09; 函数自己调用自己就是递归 …

php熔断,微服务-API熔断原理

伴随微服务&#xff0c;出现了很多新鲜的名词&#xff0c;其实剥去外衣并没有那么高大上。 今天要谈到的&#xff0c;叫做”熔断”&#xff0c;一个典型的开源实现是Hystrix(JAVA实现)。 背景 一个分布式系统中&#xff0c;服务间互相调用错综复杂&#xff0c;假设某个基础服务…

接口熔断 java_SpringCloud(五):服务熔断与熔断监控

一、概念部分 1.什么是熔断器? 熔断,就是断开与服务器的连接,熔断器是在服务不可用的时候主动断开,以免造成更多的雪崩效应,他是保护服务高可用的最后一道防线。 2.为什么需要熔断器? 为保证服务高可用,最先想到的是服务集群,但集群并不能完全的保证服务高可用, 当某个…

分布式系统服务熔断

# 服务熔断 - “熔断器”本身是一种开关装置&#xff0c;当某个服务单元发生故障之后&#xff0c;通过断路器(hystrix)的故障监控&#xff0c;某个异常条件被触发&#xff0c;直接熔断整个服务。向调用方法返回一个符合预期的、可处理的备选响应(FallBack),而不是长时间的等待或…

微服务熔断

https://mp.weixin.qq.com/s/cxd0Fol4BBzx4v2qm-hlwQ 我这篇文章来的晚了些&#xff0c;因为hystrix已经进入维护模式。但已经有非常多的同学入坑了&#xff0c;那么本篇文章就是及时雨。本文将说明熔断使用的一些注意事项&#xff0c;可能会细的让你厌烦。 前半段&#xf…