matlab if语句
function dh=jiangyu (t,h)
%降雨量的表达式
if t<=400
a=6*12*(0.122*10^(-3)-abs(0.00061*t*10^(-3)-0.122*10^(-3)))*cos(pi/9);
else
a=0;
end
%液面高度微分方程中的其他部分:
b=0.7*pi*(0.05)^2*sqrt(2*9.81*h);
c=2*12*sqrt(0.15*h-h^2);
%使结果符合客观事实,增加下面的判定
z=isreal((a-b)/c);
%如果液面高度正常为大于零的数,便按所设微分方程求解
if z==1
dh=(a-b)/c;
%如果液面高度小于零,且此时不再下雨,则液面不再变化
elseif (z==0 & a==0)
dh=0;
%如果液面高度小于零,但仍然下雨,则液面将会上升,速度为下式
else
h=0.0001;
dh=(a-b)/c;
end
end
你的判断等于要改成 ==
没有and这个用法的,用&
表并列直接回车就行了
你的c可能是虚数,注意~
在matlab 中if 语句
这个问题有点怪,
第一个问题,如果你是为了显示的目的