首页 > 其他分享 >传染病模型

传染病模型

时间:2023-07-24 10:46:07浏览次数:37  
标签:TOTAL 模型 beta dx x1 1000 gamma 传染病

传染病模型中的符号表示

1.png
2.png

SI模型(艾滋传染模型)

3.png
a42ebb91323b837f6bb51919a5b6fe0.png


%% 直接求微分方程的解析解
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('易感者', '感染者')

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

1.png

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

2.png
156739ca74ef235912a5c5b559ed51f.png

%% 
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('易感者', '感染者')

3.png

SIR模型

4.png
5.png

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


%%
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')
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

6.png

对SIR模型的拓展
7.png

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

8.png
拓展2:考虑死亡率
9.png
10.png

SIRS模型

11.png
3.png

标签:TOTAL,模型,beta,dx,x1,1000,gamma,传染病
From: https://www.cnblogs.com/cxy8/p/17576421.html

相关文章

  • C++内存分区模型
    C++内存分区模型在执行C++程序的过程中,内存大致分为四个区域:栈区(Stack):用于实现函数调用。由编译器自动分配释放,存放函数的参数值和局部变量等堆区(Heap):用于存放动态分配的变量。由程序员动态分配和释放,使用new和delete操作符全局/静态存储区(DataSegment&BSSSegm......
  • pytorch深度学习基础模型
    激活函数作用在网路的中间层,允许输出函数在不同的值上具有不同的斜率,这些不同斜率的部分可以近似任意函数。在网络的最后一层,可以将线性运算的输出限制在指定范围内。具有的性质非线性:非线性允许整个网络可以近似更复杂的函数。可微:可以通过梯度来更新。至少有一个敏感区域......
  • CSS2.1规范笔记——10 视觉格式化模型细节
    视觉格式化模型细节包含块的定义元素(生成的)盒的位置有时候是根据一个特定的矩形计算的,叫做元素的包含块(containingblock)。元素包含块的定义如下:元素包含块其为根元素。其包含块是一个被称为初始包含块的矩形。对连续媒体,尺寸取自视口的尺寸,并且被固定在画布开......
  • CSS2.1规范笔记——9.1 视觉格式化模型(视口和包含块)
    视觉格式化模型视觉格式化模型:对于可视化媒体,用户代理怎样处理文档树。在视觉格式化模型中,文档树中的每个元素根据其盒模型生成0或多个盒。这些盒的布局由以下因素控制:盒尺寸与类型定位方案(常规流、浮动与绝对定位)文档树中元素间的关系外部信息(例如视口大小、图片的固有尺寸......
  • 超详细图文教程:3DS Max 中创建低多边形游戏长剑模型
    推荐:NSDT场景编辑器助你快速搭建可二次开发的3D应用场景在此,由两部分组成的教程的第一部分中,我将向您展示如何:对剑柄进行建模剑的护手模型剑刃建模1.如何制作剑柄步骤1在本教程中使用正交视图。要更改视图,请单击视口上任意位置的鼠标中键或屏幕左上角的小按钮。步骤......
  • 一类特殊的 dp 模型--zhengjun
    这类问题大概长这样:求一个排列\(p_{1\simn}\),最小(大)化如下值:\[\sum\limits_{i=1}^{n-1}f(p_i,p_{i+1})\\f(i,j)= \left\{ \begin{array}{**lr**} g(i)+h(j),i<j\\ h(i)+g(j),i>j \end{array} \right.\]那么就可以用如下方法\(O(n^2)\)解决:从小到大向序列中......
  • Llama2开源大模型的新篇章以及在阿里云的实践
    Llama一直被誉为AI社区中最强大的开源大模型。然而,由于开源协议的限制,它一直不能被免费用于商业用途。然而,这一切在7月19日发生了改变,当Meta终于发布了大家期待已久的免费商用版本Llama2。Llama2是一个由MetaAI开发的预训练大语言模型,它可以接受任何自然语言文本作为输入,并生成文......
  • VTK+OCC显示CAD模型
    VTK是一款十分优秀的可视化套件,开源且功能强大,基本上可以满足有限元领域的全部可视化需求。遗憾的是,VTK不支持CAD模型(如igs、stp格式的模型)的显示。在网上搜索后可以发现,在不花钱的情况下,想要显示和处理CAD模型,基本上都得使用OpenCasCade,即OCC。OCC有自己的可视化系统,也可以集成......
  • 4.8 数值稳定性和模型初始化
    1.数值稳定性当神经网络的层数变得越来越深时,容易出现梯度消失及梯度爆炸的问题。这是因为,输出对于某一层的一组参数的梯度是多个矩阵的乘积,并且越底部(浅层)的层,相乘的矩阵的数量就越多。梯度消失会导致参数更新过小,甚至梯度为0,网络无法训练。sigmoid函数容易导致梯度消失:  ......
  • Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择|附代码数据
    全文下载:http://tecdat.cn/?p=22319最近我们被客户要求撰写关于偏最小二乘法(PLS)回归的研究报告,包括一些图形和统计输出。本文建立偏最小二乘法(PLS)回归(PLSR)模型,以及预测性能评估。为了建立一个可靠的模型,我们还实现了一些常用的离群点检测和变量选择方法,可以去除潜在的离群点和只......