数学建模SIS传染病模型代码
时间: 2023-09-17 08:10:55 浏览: 100
SIS模型是一种描述传染病传播的数学模型,其中S表示易感者,I表示感染者,模型假设感染者会以一定的速率恢复成易感者。以下是一个用Python编写的SIS模型代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 模型参数
beta = 0.3 # 感染率
gamma = 0.1 # 恢复率
N = 1000 # 总人口数
I0 = 1 # 初始感染人数
S0 = N - I0 # 初始易感人数
T = 200 # 模拟时间
# 初始状态
t = 0
S = S0
I = I0
# 数据记录
t_list = [t]
S_list = [S]
I_list = [I]
while t < T:
# 计算新的易感者和感染者数量
S_new = S - beta * S * I / N + gamma * I
I_new = I + beta * S * I / N - gamma * I
# 更新状态
S = S_new
I = I_new
t += 1
# 记录数据
t_list.append(t)
S_list.append(S)
I_list.append(I)
# 绘制图像
plt.plot(t_list, S_list, label='S')
plt.plot(t_list, I_list, label='I')
plt.legend()
plt.xlabel('Time')
plt.ylabel('Number of people')
plt.show()
```
在这个示例中,我们使用了欧拉方法(Euler method)来模拟SIS模型。在每个时间步长内,我们计算新的易感者和感染者数量,并根据这些数量更新状态。最后,我们将时间序列和易感者/感染者数量序列绘制成图像。
阅读全文