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] +