利用python预测sir模型_SI,SIS,SIR模型的正确实现(python)

本文通过Python展示了SI、SIS和SIR传染病模型的实现。虽然图表显示正确,但在数值上,易感、感染和康复者的总和不恒等于总人口N,作者对此问题进行了探讨。
摘要由CSDN通过智能技术生成

我已经创建了上述模型的一些非常基本的实现。然而,尽管图表看起来是正确的,但是数字加起来并不是一个常数。这是每个隔间中易感/受感染/康复的人的总和,应该是N(总人数),但它没有,因为某些原因,它加起来一些奇怪的十进制数,我真的不知道如何解决它,在看了3天之后。在

SI模型:import matplotlib.pyplot as plt

N = 1000000

S = N - 1

I = 1

beta = 0.6

sus = [] # infected compartment

inf = [] # susceptible compartment

prob = [] # probability of infection at time t

def infection(S, I, N):

t = 0

while (t < 100):

S = S - beta * ((S * I / N))

I = I + beta * ((S * I) / N)

p = beta * (I / N)

sus.append(S)

inf.append(I)

prob.append(p)

t = t + 1

infection(S, I, N)

figure = plt.figure()

figure.canvas.set_window_title('SI model')

figure.add_subplot(211)

inf_line, =plt

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值