传染病模型试验

215 阅读1分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第2天,点击查看活动详情

一.SIS模型

假设:
(1) t时刻人群分为易感者(占总人数比例的s(t))和已感染者(占总人数比例的i(t))。
(2) 每个病人每天有效接触的平均人数是常数称为日接触率,当健康者与病人接触时,健康者受感染成为病人。
(3) 病人每天被治愈的占病人总数的比例为,称为日治愈率,显然为这种传染病的平均传染期。 则建立微分方程模型为: image.png image.png

二.分别作图:

当sigma>1时
Step1:先定义函数

function y=pr1(i,lambda,sigma)
y=-lambda.*i.*(i-(1-1./sigma))

step2:作图

lambda=0.3;sigma=2;
i=0:0.01:1;
y=pr1(i,lambda,sigma)
plot(i,y)

image.png 当sigma<1时
Step1:先定义函数

function y=pr1(i,lambda,sigma)
y=-lambda.*i.*(i-(1-1./sigma))

step2:作图

lambda=0.3;sigma=0.5;
i=0:0.01:1;
y=pr1(i,lambda,sigma)
plot(i,y)

image.png 当sigma=1时 Step1:先定义函数

function y=pr1(i,lambda,sigma)
y=-lambda.*i.*(i-(1-1./sigma))

step2:作图

lambda=0.3;sigma=1;
i=0:0.01:1;
y=pr1(i,lambda,sigma)
plot(i,y)

image.png 当sigma>1时
Step1:先定义函数

function di=crb(t,i,lambda,sigma)
di=-lambda*i*(i-(1-1/sigma))

step2:求解并作图

clc
clear
lambda=0.01;
sigma=2;
[t,i1]=ode45(@crb,[0,1000],0.9,[],lambda,sigma);
[t,i2]=ode45(@crb,[0,1000],0.2,[],lambda,sigma);
plot(t,i1,t,i2,t,1/2)
legend('\sigma>1')

image.png 当sigma=1时
Step1:先定义函数

function di=crb(t,i,lambda,sigma)
di=-lambda*i*(i-(1-1/sigma))

step2:求解并作图

clc
clear
lambda=0.01;
sigma=1
[t,i1]=ode45(@crb,[0,1000],0.9,[],lambda,sigma);
plot(t,i1)
legend('\sigma=1')

image.png 当sigma<1时 Step1:先定义函数

function di=crb(t,i,lambda,sigma)
di=-lambda*i*(i-(1-1/sigma))

step2:求解并作图

clc
clear
lambda=0.01;
sigma=0.5;
[t,i1]=ode45(@crb,[0,1000],0.9,[],lambda,sigma);
plot(t,i1)
legend('\sigma<1')

image.png