1. 模型简介
SEIR模型是经典的传染病传播动力学模型,将人群划分为四类:
-
S (Susceptible):易感者(可能被感染的健康人群)
-
E (Exposed):潜伏期者(已感染但无症状、不传染)
-
I (Infectious):感染者(有症状且具有传染性)
-
R (Recovered/Removed):康复或移除者(痊愈获得免疫或死亡)
适用于描述潜伏期明显的传染病(如COVID-19、麻疹等)。
2. 模型微分方程
SEIR模型通过以下微分方程组描述疾病传播动态:
参数说明:
-
β:有效接触率(感染率),与基本再生数 R0 关系:β=R0*γ
-
α:潜伏期转阳率(α=1/平均潜伏期)
-
γ:康复率(γ=1/平均感染期)
-
N:总人口(N=S+E+I+R)
3. 关键参数与意义
4. 模型特性
-
阈值现象:
-
当 R0>1时,疫情会爆发;R0<1时自然消退。
-
-
峰值预测:
-
感染人数峰值时间与 α,γ 相关。
-
-
群体免疫:
-
最终康复者比例 R∞ 满足 1−R∞=exp(−R0R∞)。
-
5.代码实现
N=10000;%表示总人口数
T=200;%模拟天数
R0 = 5; % 基本再生数
alpha = 0.1; % 潜伏期转确诊率 (1/潜伏期天数)
gamma = 0.05;% 康复率 (1/感染期天数)
beta = R0 * gamma;% 感染率 = R0 * 康复率
I=zeros(1,T);E=zeros(1,T);S=zeros(1,T);R=zeros(1,T);
I(1)=10;%初始发病期感染者
E(1)=0;%潜伏期感染者
R(1)=0;%康复者
S(1)=N-I(1);%易感者
for n=1:T-1 %每天循环,故为微分变差分
S(n+1)=S(n)-beta*I(n)*S(n)/N;
E(n+1)=E(n)+beta*I(n)*S(n)/N-alpha*E(n);
I(n+1)=I(n)+alpha*E(n)-gamma*I(n);
R(n+1)=R(n)+gamma*I(n);
end
figure,hold on;
plot(S,'r');
plot(E,'g');
plot(I,'b');
plot(R,'K');
legend('R','E','I','R');
xlabel('天数/天');
ylabel('人数');
grid on;