传染病模型

传染病模型中的符号表示


SI模型(艾滋传染模型)


matlab 复制代码
%% 直接求微分方程的解析解
dsolve('Dx1 = -0.1 * x1 * x2 / 1000', 'Dx2 = 0.1 * x1 * x2 / 1000','x1(0) = 999, x2(0) = 1', 't');

%% 根据S + I = N做一个化简

x1 = dsolve('Dx1 = -0.1 * x1 * (1000 - x1) / 1000', 'x1(0) = 999', 't');
x2 = 1000 - x1;

figure(1)
fplot(x1, [0 200], 'b')
hold on
fplot(x2, [0 200], 'r')
legend('易感者', '感染者')

%% 这道题目可以求出解析解,但是后面的大部分题目都是求不出解析解这里我们再熟悉一遍数值解的求解过程

clc; clear
global TOTAL_N
TOTAL_N = 1000;
i0 = 1;
s0 = 999;
[t, x] = ode45('fun1', [1:200], [s0, i0]);
plot(t, x(:, 1), 'r-*');
hold on
plot(t, x(:, 2), 'b-+')'
legend('易感者', '感染者')

matlab 复制代码
function dx = fun1(t, x)
    global TOTAL_N
    beta = 0.1;
    dx = zeros(2, 1);
    dx(1) = - beta * x(1) * x(2) / TOTAL_N;
    dx(2) = beta * x(1) * x(2) / TOTAL_N;
end

SIS模型(普通传染病模型 )


maatlab 复制代码
%% 
clc;clear
global TOTAL_N
TOTAL_N = 1000;
global alfa;
alfa = 0.06;
global beta
beta = 0.1;
i0 = 1;
s0 = 999;
[t, x] = ode45('fun1', [1:500], [s0, i0]);
plot(t, x(:, 1), 'r-*');
hold on
plot(t, x(:, 2), 'b-+')'
legend('易感者', '感染者')

SIR模型


这里关于总人数毫无疑问 N = S + I + R但是在传染过程中,由于康复者已经有抗体且不会再被感染,所以这里有效人群就不能再把R计算在内了,N' = S + I

matlab 复制代码
%%
clc; clear all;
N = 1000;
i0 = 1;
s0 = 999;
r0 = 0;
[t, x] = ode45('fun1', [1:500], [s0 i0 0]);
x = round(x);
figure(1);
plot(t, x(:, 1), 'r-');
hold on 
plot(t, x(:, 2), 'b-');
hold on
plot(t, x(:, 3), 'g-');
hold on
legend('易感者S','感染者I','康复者R')
matlab 复制代码
function dx = fun1(t, x)
   beta = 0.1;
   gamma = 0.02;
   % x(1)表示S,x(2)表示I, x(3)表示R
   dx = zeros(3,1);
   C = x(1) + x(2);
   dx(1) = - beta * x(1) * x(2) / C;
   dx(2) =  beta * x(1) * x(2) / C - gamma * x(2);
   dx(3) = gamma * x(2);
end

对SIR模型的拓展

matlab 复制代码
function dx = fun1(t, x)
    beta = 0.1;
   gamma = 0.02;
   if t > 100
        gamma = gamma * 10;
   end
   % x(1)表示S,x(2)表示I, x(3)表示R
   dx = zeros(3,1);
   C = x(1) + x(2);
   dx(1) = - beta * x(1) * x(2) / C;
   dx(2) =  beta * x(1) * x(2) / C - gamma * x(2);
   dx(3) = gamma * x(2);
end

拓展2:考虑死亡率

SIRS模型


相关推荐
ECT-OS-JiuHuaShan12 小时前
否定之否定的辩证法,谁会不承认?但又有多少人说的透?
开发语言·人工智能·数学建模·生活·学习方法·量子计算·拓扑学
数学建模导师3 天前
2025亚太杯11月国际赛数学建模选题建议及思路来啦!(论文写作模板+优秀获奖论文)
数学建模
88号技师3 天前
2025年9月一区SCI-孤行尺蠖觅食优化算法Solitary Inchworm Foraging-附Matlab免费代码
开发语言·算法·数学建模·matlab·优化算法
smppbzyc4 天前
2025APMCM亚太杯数学建模B题【 辐射制冷技术的建模与优化】原创论文分享
数学建模·亚太杯·2025亚太杯数学建模b题·2025亚太杯国际赛·2025亚太杯
数字化脑洞实验室4 天前
未来求解器技术有哪些发展趋势?AI与求解器结合能带来哪些突破?
数学建模
热心网友俣先生4 天前
2025年APMCM亚太数学建模C题AI+人工精翻版本+数据收集方式介绍+数据分享
c语言·人工智能·数学建模
2501_941798735 天前
如何通过数据分析优化业务决策,提高企业竞争力
数学建模
嵌入式冰箱6 天前
2025年APMCM亚太数学建模ABC题详细教学分析
数学建模
小陈爱建模6 天前
[已更新]2025亚太杯A题亚太赛A题 APMCM大学生数学建模详细教学分析
数学建模
smppbzyc6 天前
2025亚太杯数学建模B题【 辐射制冷技术的建模与优化】原创论文讲解(含完整python代码)
数学建模·2025亚太杯数学建模b题·2025亚太杯国际赛·2025亚太杯b题·2025亚太杯