数学建模传播模型代码
时间: 2023-07-10 13:11:35 浏览: 42
以下是一个简单的数学建模传播模型的 Python 代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 模型参数
beta = 0.3 # 感染率
gamma = 0.05 # 恢复率
# 初始条件
S0 = 990 # 初始易感人数
I0 = 10 # 初始感染人数
R0 = 0 # 初始康复人数
# 时间步长和模拟时间
dt = 0.1
t = np.arange(0, 100, dt)
# 数值解
S = np.zeros_like(t)
I = np.zeros_like(t)
R = np.zeros_like(t)
S[0] = S0
I[0] = I0
R[0] = R0
for i in range(1, len(t)):
dSdt = -beta * S[i-1] * I[i-1]
dIdt = beta * S[i-1] * I[i-1] - gamma * I[i-1]
dRdt = gamma * I[i-1]
S[i] = S[i-1] + dSdt * dt
I[i] = I[i-1] + dIdt * dt
R[i] = R[i-1] + dRdt * dt
# 绘图
plt.plot(t, S, label='Susceptible')
plt.plot(t, I, label='Infected')
plt.plot(t, R, label='Recovered')
plt.xlabel('Time')
plt.ylabel('Number of people')
plt.legend()
plt.show()
```
这个模型假设人口总数是常数,因此没有考虑出生和死亡。此外,也没有考虑人口密度和接触率的变化等实际情况。这只是一个简单的示例,用于演示传播模型的基本原理和实现方法。