简单的疫情预测模型的Python实现

上传:counterfeit5532 浏览: 16 推荐: 0 文件:pdf 大小:204.57KB 上传时间:2023-07-02 12:28:19 版权申诉

下面是一个使用SIR模型(易感染-感染-恢复)的简单疫情预测模型的Python代码示例。代码中包括了初始参数设置和模型方程的实现。通过该模型可以对疫情传播的进程进行预测和估计。具体实现过程如下:

import numpy as np
import matplotlib.pyplot as plt

# 设置初始参数
N = 1000  # 受感染人群总数
I0 = 10  # 初始感染人数
beta = 0.4  # 疫情扩散速度
gamma = 0.1  # 感染恢复速度
days = 200  # 预测天数

# 构建SIR模型方程
def sir_model(y, t, N, beta, gamma):
    S, I, R = y
    dSdt = -beta * S * I / N
    dIdt = beta * S * I / N - gamma * I
    dRdt = gamma * I
    return dSdt, dIdt, dRdt

# 初始化时间和初始状态
t = np.linspace(0, days, days)
y0 = N - I0, I0, 0

# 数值求解
result = odeint(sir_model, y0, t, args=(N, beta, gamma))
S, I, R = result.T

# 绘制曲线图
fig, ax = plt.subplots()
ax.plot(t, S, label='易感人群')
ax.plot(t, I, label='感染人数')
ax.plot(t, R, label='恢复人数')
plt.xlabel('时间')
plt.ylabel('人数')
plt.title('疫情传播模型')
plt.legend()
plt.show()

简单的疫情预测模型的Python实现

上传资源
用户评论