python代码实现, SIR 模型进行信息传播模拟
时间: 2023-01-31 22:01:28 浏览: 128
SIR模型是一种常用的信息传播模型,它用来模拟传染病(如冠状病毒)的流行情况。SIR模型包括三种状态:
- S(Susceptible):易感者,还没有患上传染病的人。
- I(Infected):感染者,已经患上传染病的人。
- R(Recovered):恢复者,已经患过传染病并康复的人。
SIR模型假设传染病是通过直接接触传播的,并且每个人只有在感染后才能被传染。因此,SIR模型可以用来模拟传染病的流行情况,并预测传染病的蔓延趋势。
下面是用Python代码实现SIR模型的示例:
```python
import numpy as np
def sir_model(S0, I0, R0, beta, gamma, t):
"""
S0: 初始易感者人数
I0: 初始感染者人数
R0: 初始恢复者人数
beta: 传染率
gamma: 恢复率
t: 时间步长
"""
# 初始化数组
S, I, R = np.zeros(t), np.zeros(t), np.zeros(t)
S[0], I[0], R[0] = S0, I0, R0
for i in range(t-1):
# 计算易感者、感染者和恢复者人数
S[i+1] = S[i] - beta * S[i] * I[i]
I[i+1] = I[i] + beta * S[i] * I[i] - gamma * I[i]
R[i+1] = R[i] +