-
给定模型
-
S=A-BIS-dS+u2w2I+u1w1E,
-
E=BIS-dE-eE-w1E,
-
I=eE-dI-aI-w2I,
····
给出潜伏者和感染者在t属于0~100上时间序列图。
其中,点表示S,E,I分别关于时间t的导数。
(注意是左边S,E,I,因为我就是在这给坑了下,仔细看左边S,E,I和右边的确实不同,那右边S,E,I表示何物?表示原方程。)
-
为什么记这个?
因为有个人他吃饱没事干,但又他不想写作业,可是他搜不到答案,忙活了大半天,觉得不把作业发出来,对不住他该sleep的时间啊! -
前人种树后人乘凉了呗。
-
定义函数
function dy=sei(t,y)
%模型S E I分别对应 dy(1),dy(2),dy(3)
dy=zeros(3,1);
u2=0.001;u1=0.001;A=0.001;
e=0.1;a=0.1;w2=0.1;w1=0.1;
d=0.0001;
B=0.001;
dy(1)=A-B*y(3)*y(1)-d*y(1)+u2*w2*y(3)+u1*w1*y(2);
dy(2)=B*y(3)*y(1)-d*y(2)-e*y(2)-w1*y(2);
dy(3)=e*y(2)-d*y(3)-a*y(3)-w2*y(3);
end
- 求解微分方程并绘制图形
[T,Y]=ode23('sei',0:100,[0.03,0.04,0]);
plot(T,Y(:,2),'b',T,Y(:,3),'r'); % 绘制图形
hold on; % 保持当前图形
axis([0 100 -0.1 0.1]) % 定制图形坐标
legend('E','I'); % 图例
xlabel('Time'); % x轴标签
- 绘制结果
- 超出作业内容,把易感者(未携带病毒的健康人)绘制出来看看是啥样
[T,Y]=ode23('sei',0:100,[0.03,0.04,0]);
plot(T,Y(:,2),'b',T,Y(:,3),'r',T,Y(:,1),'--*g'); % 绘制图形
hold on; % 保持当前图形
axis([0 100 -0.1 0.1]) % 定制图形坐标
legend('E','I','S'); % 图例
xlabel('Time'); % x轴标签
- 流水账记完,如果某年某月某日你来到这里记得点个赞!
- 睡觉,哦~
- 不,该上班了,糟糕!