宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取
SEIR模型案例
原理说明
https://zhuanlan.zhihu.com/p/142117573
%N是群体总样本数
E=0; %潜伏期人数
I=1; %患者人数
S=N-I; %易感者人数
R=0; %康复者人数
r=20; %每个患者平均每天能接触的人数
B=0.03; %患者每天接触的人中被感染的概率
a=0.1; %潜伏期装变为患者的概率
y=0.1; %患者痊愈概率
r2=20; %处于潜伏期的人每天接触的人数
B2=0.03; %潜伏期的人每天接触的人中被感染的概率
T=1:140; %模拟从第一天到第140天的状况
for idx =1:lengthT)-1 %循环遍历
Sidx+1) = Sidx)- r*B*Sidx)*Iidx)/N - r2*B2*Sidx)*Eidx)/N;
Eidx+1) = Eidx) + r*B*Sidx)*Iidx)/N - a*Eidx) + r2*B2*Sidx)*Eidx)/N;
Iidx+1) = Iidx) + a*Eidx) - y*Iidx);
Ridx+1) = Ridx) + y*Iidx);
end
%{迭代计算每天的感染情况 idx代表天数
Sidx+1) = Sidx)- r*B*Sidx)*Iidx)/N -r2*B2*Sidx)*Eidx)/N;
这里Sidx+1)代表第idx+1天的易感者人数
其数值等于第idx天的易感者人数减去由于 潜伏者接触易感染者所造成的感染人数 和 患者接触易感染者所造成的感染人数
r*Iidx)表示所有患者每天接触的人的总数 Sidx)/N表示所有人中易感染者占比
r*B*Sidx)*Iidx)/N 即所有患者一天因为易感染者所造成的感染数
同理r2*B2*Sidx)*Eidx)/N 即所有潜伏者一天因为易感染者所造成的感染数
Eidx+1) = Eidx) + r*B*Sidx)*Iidx)/N - a*Eidx) + r2*B2*Sidx)*Eidx)/N;
第idx+1天的潜伏者人数等于
第idx天的潜伏者人数 加上 潜伏者接触易感染者所造成的感染人数 和 患者接触易感染者所造成的感染人数
减去由潜伏者转化为患者的人数
y*Iidx)第idx天的患者痊愈人数
以下分析同理
%}
plotT,S,T,E,T,I,T,R);grid on; %以下是绘图部分
xlabel'天');ylabel'人数')
legend'易感者','潜伏者','传染者','康复者')