基于Python的新冠疫情的模拟预测与数据可视化。帮我写一个仿真可视化的代码
时间: 2023-06-18 20:04:03 浏览: 147
python疫情数据可视化
5星 · 资源好评率100%
好的,以下是一个基于Python的新冠疫情的模拟预测与数据可视化的代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义模拟参数
N = 10000 # 总人数
I0, R0 = 1, 0 # 初始感染人数和康复人数
S0 = N - I0 - R0 # 初始易感人数
beta = 0.2 # 感染率
gamma = 0.1 # 恢复率
days = 100 # 模拟天数
# 定义模型
def sir_model(S, I, R, beta, gamma):
dSdt = -beta * S * I / N
dIdt = beta * S * I / N - gamma * I
dRdt = gamma * I
return dSdt, dIdt, dRdt
# 执行模拟
S, I, R = [S0], [I0], [R0]
for i in range(days):
dSdt, dIdt, dRdt = sir_model(S[-1], I[-1], R[-1], beta, gamma)
S.append(S[-1] + dSdt)
I.append(I[-1] + dIdt)
R.append(R[-1] + dRdt)
# 可视化数据
fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(S, 'b', label='易感人数')
ax.plot(I, 'r', label='感染人数')
ax.plot(R, 'g', label='康复人数')
ax.set_xlabel('时间/天数')
ax.set_ylabel('人数')
ax.set_ylim(0, N)
ax.set_title('新冠疫情模拟预测')
ax.legend()
plt.show()
```
这个代码会生成一个折线图,显示出模拟期间易感、感染和康复人数随时间的变化。你可以根据需要修改参数,改变模拟结果。
阅读全文