天天看點

seir模型啟發式算法_SEIR模式代碼

function[y]=seir(t,x)

a=1/14;b=0.03;c=1/14;r=10;

DS=-r*b*x(1)*x(3);

DE=r*b*x(1)*x(3)-a*x(2);

DI=a*x(2)-c*x(3);

DR=c*x(3);

y=[DS;DE;DI;DR];

end

[t,x]=ode45('seir',[0:2:150],[0.95 0.01 0.03 0.03]);

figure(1)

plot(t,x(:,1),'-.r',t,x(:,2),'-.b',t,x(:,3),'-.k',t,x(:,4),'-.g')

title('SEIR模型')

xlabel('時間')

ylabel('人群占比');

legend('易感者','潛伏期','病人','康複者','4')

2.改變參數傳染者的傳染機率

seir模型啟發式算法_SEIR模式代碼

,将

seir模型啟發式算法_SEIR模式代碼

由0.03降低到0.02時,繪制的SEIR模型的程式代碼:

function[y]=seir(t,x)

a=1/14;b=0.02;c=1/14;r=10;

DS=-r*b*x(1)*x(3);

DE=r*b*x(1)*x(3)-a*x(2);

DI=a*x(2)-c*x(3);

DR=c*x(3);

y=[DS;DE;DI;DR];

end

[t,x]=ode45('seir',[0:2:150],[0.95 0.01 0.03 0.03]);

figure(1)

plot(t,x(:,1),'-.r',t,x(:,2),'-.b',t,x(:,3),'-.k',t,x(:,4),'-.g')

title('SEIR傳染率減小模型')

xlabel('時間')

ylabel('人群占比');

legend('易感者','潛伏期','病人','康複者','4')