离散流行病模型,直接写python代码
时间: 2023-01-31 19:06:56 浏览: 171
在离散流行病模型中,通常会使用一些变量来描述疾病在人群中的传播情况。这些变量可以是人群中某一状态的人数,例如健康的人数、感染的人数、潜伏期的人数、治愈的人数等。
下面是一个简单的离散流行病模型的 Python 代码示例,其中使用了 SIR 模型来描述疾病的传播情况:
```python
import numpy as np
def sir_model(y, t, beta, gamma):
S, I, R = y
dSdt = -beta * S * I
dIdt = beta * S * I - gamma * I
dRdt = gamma * I
return dSdt, dIdt, dRdt
# 初始化参数
beta = 0.2 # 传染率
gamma = 0.1 # 恢复率
S0 = 0.99 # 初始健康人数
I0 = 0.01 # 初始感染人数
R0 = 0.0 # 初始治愈人数
t = np.linspace(0, 50, 100) # 时间范围
# 计算每一时刻的 S、I、R 值
y0 = [S0, I0, R0]
solution = odeint(sir_model, y0, t, args=(beta, gamma))
S, I, R = solution.T
# 绘制曲线图
plt.plot(t, S, label='S')
plt.plot(t, I, label='I')
plt.plot(t, R, label='R')
plt.legend()
plt.show()
```
在这段代码中,我们定义了一个 `sir_model` 函数,用于计算每一时刻 S、I、R 三个状态的变化情况。然后我们使用 `odeint` 函数来解决微分方程,得到每一时刻 S、I、R 状态的
阅读全文