目录
💥1 概述
📚2 运行结果
🎉3 参考文献
👨💻4 Matlab代码
💥1 概述
早在1927年,美国数学家Kermack和Mckendrick首先利用动力学的方法建立了流行病的数学模型,从此开始了大量的用数学理论和方法研究流行病模型的文献。通过对流行病模型的研究,可以对流行病将来的发展趋势得到一个估计,为人们预防、治疗和控制流行病提供一些有益的信息.纵观以往的研究工作,我们可以发现,他们中的大部分研究的是常微分方程形式的流行病模型,即假设种群无论年龄大小、形体大小对疾病具有相同的传染力、免疫力和康复力。这种没有考虑年龄结构的流行病模型有缺陷,因为不同类型的疾病有不同的传播特点,有些疾病(如性病等)的传播直接与年龄有关,有些疾病对不同年龄的人感染程度不一样,疾病的有些传播现象(如垂直传染等)和预防疾病的有些措施(如接种疫苗等)不能很好地用常微分方程来描述。所以考虑年龄结构的流行病模型有其必要性和实际意义。
经典地方病模型根据人群之间的相互作用率、出生/死亡率和康复率来表示感染性和易感人群的数量。
本文使用MSEIR模型。它是使用外插技术结合Anguelov等人(2014)中使用的非标准有限差分(NSFD)方案获得的。此模型在计算上更高效,并且与连续模型动态一致:复制了无病平衡(DFE)的全局渐近稳定性(GAS),以及地方病平衡(EE)的全局稳定性及其守恒定律。数值实验对该理论进行了说明。
📚2 运行结果
主函数部分代码:
% MATLAB Code for MSIER Endemic model% beta=[0.8;0.9;1.0;1.1;1.2;1.3;1.4;1.5;1.6]; %array of beta values s0 = [0.5,0.4]; %array for s0 initial values i0 = [0.5,0.4]; %array for i0 initial values for j = 1 : 9 %Loop for beta values for k = 1 : 2 %Loop for s0 and i0 values [s_values,i_values] = e_d_model(s0(k),i0(k),beta(j)); %calling e_d_model custom function %figure for Phase Portrait of all calculated s and i values figure(j+100);hold on plot(s_values,i_values),xlabel('s values / suspects '), ylabel('i values / infected'),axis([0 1 0 1]) title(['Phase Portrait - \beta =',num2str(beta(j))]) %Title for graph legendInfo{k} = ['s0 = ' num2str(s0(k)),', i = ' num2str(i0(k))]; %Legend for graph end legend(legendInfo) hold off end
🎉3 参考文献
[1]李学志,万志超,陈清江.总人口规模变化的年龄结构MSEIR流行病模型的再生数[J].数学的实践与认识,2005(08):113-122.
部分理论引用网络文献,若有侵权联系博主删除。