数学建模学习笔记(十七)传染病模型(SIER)
传染病模型讲解比较清楚的是知乎这位博主,文章链接戳这在家宅着也能抵抗肺炎!玩一玩SEIR传染病模型
本文基于这篇文章进行记录和整理
对于一般传染病来说,都具备潜伏者(E),因此直接记录传统的SIER模型:
模型公式:
{
d
S
d
t
=
−
r
β
I
S
N
d
E
d
t
=
r
β
I
S
N
−
σ
E
d
I
d
t
=
σ
E
−
γ
I
d
R
d
t
=
γ
I
\left\{ \begin{array}{l} \frac{{dS}}{{dt}} = - \frac{{r\beta IS}}{N}\\ \\ \frac{{dE}}{{dt}} = \frac{{r\beta IS}}{N} - \sigma E\\ \\ \frac{{dI}}{{dt}} = \sigma E - \gamma I\\ \\ \frac{{dR}}{{dt}} = \gamma I \end{array} \right.
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧dtdS=−NrβISdtdE=NrβIS−σEdtdI=σE−γIdtdR=γI
迭代公式:
{
S
n
=
S
n
−
1
−
r
β
I
n
−
1
S
n
−
1
N
E
n
=
E
n
−
1
+
r
β
I
n
−
1
S
n
−
1
N
−
σ
E
n
−
1
I
n
=
I
n
−
1
+
σ
E
n
−
1
−
γ
I
n
−
1
R
n
=
R
n
−
1
+
γ
I
n
−
1
\left\{ \begin{array}{l} {S_n} = {S_{n - 1}} - \frac{{r\beta {I_{n - 1}}{S_{n - 1}}}}{N}\\ \\ {E_n} = {E_{n - 1}} + \frac{{r\beta {I_{n - 1}}{S_{n - 1}}}}{N} - \sigma {E_{n - 1}}\\ \\ {I_n} = {I_{n - 1}} + \sigma {E_{n - 1}} - \gamma {I_{n - 1}}\\ \\ {R_n} = {R_{n - 1}} + \gamma {I_{n - 1}} \end{array} \right.
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧Sn=Sn−1−NrβIn−1Sn−1En=En−1+NrβIn−1Sn−1−σEn−1In=In−1+σEn−1−γIn−1Rn=Rn−1+γIn−1
引入潜伏者传染概率,改进SEIR模型,
公式为
{
d
S
d
t
=
−
r
β
I
S
N
−
r
2
β
2
E
S
N
d
E
d
t
=
r
β
I
S
N
−
σ
E
+
r
2
β
2
E
S
N
d
I
d
t
=
σ
E
−
γ
I
d
R
d
t
=
γ
I
\left\{ \begin{array}{l} {\frac{{dS}}{{dt}} = - \frac{{r\beta IS}}{N} - \frac{{{r_2}{\beta _2}ES}}{N}}\\ {}\\ {\frac{{dE}}{{dt}} = \frac{{r\beta IS}}{N} - \sigma E + \frac{{{r_2}{\beta _2}ES}}{N}}\\ {}\\ {\frac{{dI}}{{dt}} = \sigma E - \gamma I}\\ {}\\ {\frac{{dR}}{{dt}} = \gamma I} \end{array} \right.
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧dtdS=−NrβIS−Nr2β2ESdtdE=NrβIS−σE+Nr2β2ESdtdI=σE−γIdtdR=γI
迭代公式为:
{
S
n
=
S
n
−
1
−
r
β
I
n
−
1
S
n
−
1
N
−
r
2
β
2
E
n
−
1
S
n
−
1
N
E
n
=
E
n
−
1
+
r
β
I
n
−
1
S
n
−
1
N
−
σ
E
n
−
1
+
r
2
β
2
E
n
−
1
S
n
−
1
N
I
n
=
I
n
−
1
+
σ
E
n
−
1
−
γ
I
n
−
1
R
n
=
R
n
−
1
+
γ
I
n
−
1
\left\{ \begin{array}{l} {S_n} = {S_{n - 1}} - \frac{{r\beta {I_{n - 1}}{S_{n - 1}}}}{N} - \frac{{{r_2}{\beta _2}{E_{n - 1}}{S_{n - 1}}}}{N}\\ \\ {E_n} = {E_{n - 1}} + \frac{{r\beta {I_{n - 1}}{S_{n - 1}}}}{N} - \sigma {E_{n - 1}} + \frac{{{r_2}{\beta _2}{E_{n - 1}}{S_{n - 1}}}}{N}\\ \\ {I_n} = {I_{n - 1}} + \sigma {E_{n - 1}} - \gamma {I_{n - 1}}\\ \\ {R_n} = {R_{n - 1}} + \gamma {I_{n - 1}} \end{array} \right.
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎧Sn=Sn−1−NrβIn−1Sn−1−Nr2β2En−1Sn−1En=En−1+NrβIn−1Sn−1−σEn−1+Nr2β2En−1Sn−1In=In−1+σEn−1−γIn−1Rn=Rn−1+γIn−1
matlab代码:
源代码:
clear;clc;
%--------------------------------------------------------------------------
% 参数设置
%--------------------------------------------------------------------------
N = 12700000; %人口总数
E = 0; %潜伏者
I = 1; %传染者
S = N - I; %易感者
R = 0; %康复者
r = 20; %感染者接触易感者的人数
B = 0.03; %传染概率
a = 0.1; %潜伏者转化为感染者概率
y = 0.1; %康复概率
T = 1:140;
for idx = 1:length(T)-1
S(idx+1) = S(idx) - r*B*S(idx)*I(idx)/N;
E(idx+1) = E(idx) + r*B*S(idx)*I(idx)/N-a*E(idx);
I(idx+1) = I(idx) + a*E(idx) - y*I(idx);
R(idx+1) = R(idx) + y*I(idx);
end
plot(T,S,T,E,T,I,T,R);grid on;
xlabel('天');ylabel('人数')
legend('易感者','潜伏者','传染者','康复者')
稍作改进,反应每日新增病例情况:
%--------------------------------------------------------------------------
% 初始化
%--------------------------------------------------------------------------
clear;clc;
%--------------------------------------------------------------------------
% 参数设置
%--------------------------------------------------------------------------
N = 29000; %人口总数
E = 0; %潜伏者
I = 1; %传染者
S = N - I; %易感者
R = 0; %康复者
m=1;
r = 25; %感染者接触易感者的人数
B = 0.03; %传染概率
a = 0.1; %潜伏者转化为感染者概率
r2 = 3; %潜伏者接触易感者的人数
B2 = 0.03; %潜伏者传染正常人的概率
y = 0.1; %康复概率
T = 1:182;
for idx = 1:length(T)-1
S(idx+1) = S(idx) - r*B*S(idx)*I(idx)/N(1) - r2*B2*S(idx)*E(idx)/N;
E(idx+1) = E(idx) + r*B*S(idx)*I(idx)/N(1)-a*E(idx) + r2*B2*S(idx)*E(idx)/N;
I(idx+1) = I(idx) + a*E(idx) - y*I(idx);
R(idx+1) = R(idx) + y*I(idx);
m(idx+1) = E(idx+1) + I(idx+1);
end
x=1:182;
plot(x,m);grid on;
xlabel('day');ylabel('Demand for drugs')
相关文章
- 影视3D建模和游戏3D建模差异,哪个更有前景?
- R语言分布滞后线性和非线性模型(DLM和DLNM)建模|附代码数据
- 烟草行业数据中心数据建模规范
- [Medical Image Analysis | 论文简读] Factorizer: 医学图像分割的可扩展可解释上下文建模方法
- Revit三维建模软件下载 3D建模Revit2023安装绿色版
- Revit软件下载,Revit建筑设计建模2023电脑版下载安装激活教程
- 奇妙塑形,PowerShape 2022助您实现高精度的建模与加工+全版本安装包
- VRay 5.2 for 3dsmax:打造逼真渲染的顶级建模插件+全版本安装包
- SketchUp建筑建模软件,Sketch Up软件下载安装
- 【普林斯顿博士论文】深度神经网络在监督学习、生成建模和自适应数据分析中的泛化
- 如何建模可以帮助你避免在 OpenStack 中遇到问题
- Ayam是一个免费的3D建模环境的RenderMan接口,基于BSD许可发布。
- Oracle 联合判空的建模方法(oracle 关联 判空)