新冠肺炎的SIRSi-疫苗动力学模型流行病
论文网址是https://doi.org/10.1016/j.isatra.2023.05.008
怎么建立,用程序怎么实现?
新冠肺炎的SIRSi-疫苗动力学模型流行病
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
技术宅program 2023-05-19 13:19关注以下答案由GPT-4.0Plus大模型与博主A努力中.......共同编写:
新冠肺炎SIRS模型的程序实现:python import numpy as np import matplotlib.pyplot as plt # 参数初始化 N = 10000 # 总人口 S0 = 9900 # 初始易感者人数 I0 = 100 # 初始感染者人数 R0 = 0 # 初始移除者人数 μ = 0.01 # 自然死亡率 β1 = 0.3 # 疾病致死率 β2 = 0.1 # 治愈率 γ = 0.08 # 疫苗接种率 θ = 0.5 # 疫苗有效率 α = 0.2 # 传染率 # 时间范围和步长 t_start = 0 t_end = 365 dt = 0.1 # 初始化列表记录每一时刻的人数 t_list = [] S_list = [] I_list = [] R_list = [] # 设置初始值 S = S0 I = I0 R = R0 # 求解并记录数据 for t in np.arange(t_start, t_end, dt): # 计算每个时间段的变化量 dS = μ*N - α*(1-θ)*S*I/N - μ*S + γ*R dI = α*(1-θ)*S*I/N - (β1+β2)*I - μ*I dR = β2*I # 更新每个状态变量的值 S = S + dS*dt I = I + dI*dt R = R + dR*dt # 添加至列表中 t_list.append(t) S_list.append(S) I_list.append(I) R_list.append(R) # 绘制数据曲线 plt.plot(t_list, S_list, label='易感者') plt.plot(t_list, I_list, label='感染者') plt.plot(t_list, R_list, label='移除者') plt.xlabel('时间/天') plt.ylabel('人数') plt.legend() plt.show()该程序实现了SIRS模型的求解,并绘制出不同人群随时间变化的曲线。您可以通过修改不同参数观察其对流行病动力学的影响。
解决 无用评论 打赏 举报