matlab &与&&的区别
Matlab中的逻辑运算"&&"与"&",都是与的意思,但是有以下几个区别。
1、判断过程:
A&B:首先判断A的逻辑值,然后判断B的值,然后进行逻辑与的计算。
A&&B:首先判断A的逻辑值,如果A的值为假,就可以判断整个表达式的值为假,就不需要再判断B的值。
2、使用方法:
A&B:A和B不仅可以为标量,还可以为矩阵(e.g. A=[1 2 3],B=[0 1 0])
A&&B:A和B不能是矩阵,只能是标量。
扩展资料:
与&&和&类似的一组逻辑运算符号:||和|。这两个都是或的意思,并且同理于&&和&,只不过是“或”的逻辑。
那么出现这样的原因是因为:
A&&B 首先判断A的逻辑值,如果A的值为假,就可以判断整个表达式的值为假,就不需要再判断B的值。
这种用法非常有用,如果A是一个计算量较小的函数,B是一个计算量较大的函数,那么首先判断A对减少计算量是有好处的。
另外这也可以防止类似被0除的错误。
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