T1 code
g=9.8 %重⼒加速度
d=0.03; %⼩孔直径
syms h %定义符号变量⽔⾯⾼度h
t=-h^(1.5)/(0.6*d^2*sqrt(2*g));%⽔深下降dh所需时间dt的表达式
T=int(t,h,1.2,0); %⽔深由1.2m⾄0定积分得放空时间
t1=eval(T) %执⾏T的内容,将字符串转换为matlab可执⾏语句
x=((T-120)*(1.5*d^2*sqrt(2*g)))^(0.4);%设两分钟后⽔深为X m
h1=eval(x) %执⾏x的内容,将字符串转换为matlab可执⾏语句
T2 code
%----------
% 初始化
%-----------
clear;clc;
%----------
% 参数设置
%-----------
N = 330000000; %美国⼈⼝总数
E = 0; %潜伏者
I = 1; %传染者
S = N - I; %易感者
R = 0; %康复者
r = 20; %感染者接触易感者的⼈数
B = 0.03; %传染概率
a = 0.1; %潜伏者转化为感染者概率
r2 = 20; %潜伏者接触易感者的⼈数
B2 = 0.03; %潜伏者传染正常⼈的概率
y = 0.1; %康复概率
T = 1:140;
for idx = 1:length(T)-1
if idx>=73 %根据新闻,美国第73天开始戒严
r=5;
r2=5;
end
S(idx+1) = S(idx) - r*B*S(idx)*I(idx)/N(1) - r2*B2*S(idx)*E(idx)/N;
E(idx+1) = E(idx) + r*B*S(idx)*I(idx)/N(1)-a*E(idx) + r2*B2*S(idx)*E(idx)/N;
I(idx+1) = I(idx) + a*E(idx) - y*I(idx);
R(idx+1) = R(idx) + y*I(idx);
end
plot(T,S,T,E,T,I,T,R);grid on;
hold on
plot([10 10],[0 10000])
xlabel('天');ylabel('⼈数')
legend('易感者','潜伏者','传染者','康复者','执⾏戒严措施')
title('戒严措施对SEIR模型的影响')