数学建模sir模型python_Python实现简单的SI传播模型

本文介绍了使用Python实现简单的SI疾病传播模型,该模型包括易感(S)和感染(I)两种状态。通过数学公式和代码展示了如何模拟疾病传播的过程,并提供了实验环境和代码链接。
摘要由CSDN通过智能技术生成

Python实现简单的SI传播模型

9 W1 N' t% O% P% ]9 M#SI疾病传播模型的原理9 k0 t. @& x2 |7 h+ M9 ~* b9 C* X

在经典的传染病模型中,种群(Population)内N个个体的状态可分为如下几类$ K8 m: {+ j- `0 e

4 M) O  A4 `: V1 O& E  U) H" }易感状态(Susceptible)。一个个体在感染前是处于易感状态的,即该个体有可能被邻居个体感染。

% v* X0 d2 ?8 y, Y' ]  p  H易感状态I(Infected)。一个感染上某种病毒的个体就称为是处于感染状态。,即该个体还会以一定概率感染其邻居个体。, y$ b) A  b, V. w& q

移除状态(Remove,Refractory或者Recovered)。也成为免疫状态或恢复状态,当一个个体经历过一个完整的感染周期后,该个体就不再被感染,因此就可以不再考虑改革提。, i& W- F! [! g' H1 U6 c( M

SI传播模型是最简单的疾病传播模型,模型中的所有个体都只可能处于两个状态中的一个

9 C6 U' U" x6 t/ B即易感(S)状态或感染(I)状态。SI模型中的个体一旦被感染后就永远处于感染状态。$ F% e2 @6 C% L) }7 r9 N' _5 I2 q3 R

在给定时刻t,令S(t)与I(t)分别代表该时刻处于易感和感染状态的个体数目,显然有

- z+ e; B6 f: v* q6 N+ PS(t)+I(t)恒等于N,这里,N是个体总数。随着时间t的增长,易感个体与感染个体的接触6 E; w& R. s9 L' J* f3 T

会导致感染个体数量的增加。加入由于个体之间的接触而导致疾病传播的概率为β,疾病仅在; ?+ z5 r) `9 l$ D) P

感染个体和易感个体之间进行接触时才会以概率β将疾病传染给易感个体。在时刻t,易感个体的比例为S(t)/N,感染个体的数量为I(t),一次,易感个体的数量将以如下变化率减少4 Z* N! G# z3 o3 \4 a" u

ds/dt = -β*S(t)I(t)/N

! d6 e4 y2 L) D2 j同时,感染个体的数量会以与易感个体相反的变化率增加,

" S# S( X" Z; Ids/dt = βS(t)*I(t)/N

+ O! N, ?! ]% c2 ^/ j分别将时刻t处于易感状态和感染状态的个体所占比例记为,

: U7 ^! p. B* Bs(t)=S(t)/N5 M3 X$ M) b) T+ Q; }( {

i(t)=I(t)/N6 X. B/ Z; n  N+ c9 E2 D7 w

显然有,- O) u  @3 M% u5 f

s(t)+i(t)恒等于1,此时之前的公式可以记做9 O( Y" B) P! N- k! s) N2 C

ds/dt=-βsi

2 y$ d( k, J6 n8 R& v* Wdi/dt=βsi

; E  P+ N3 F3 S; B" M即

% P0 x7 P7 N. B+ l7 l7 }di/dt=βi(1-i)( t& @1 G* g* I

上式也成为Logistic增长方程式(Logistic growth equation),

4 `3 I( K/ {1 f1 _& G/ O. B方程的解和图像如图9 x- j# @" g( i6 J* k. _

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值