关于matlab的逻辑运算命令matlab中&与&&,|与||含义一样吗?知道&,|的含义但不清楚&&,||的意思

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/20 21:19:04
关于matlab的逻辑运算命令matlab中&与&&,|与||含义一样吗?知道&,|的含义但不清楚&&,||的意思

关于matlab的逻辑运算命令matlab中&与&&,|与||含义一样吗?知道&,|的含义但不清楚&&,||的意思
关于matlab的逻辑运算命令
matlab中&与&&,|与||含义一样吗?知道&,|的含义但不清楚&&,||的意思

关于matlab的逻辑运算命令matlab中&与&&,|与||含义一样吗?知道&,|的含义但不清楚&&,||的意思
&&和||被称为&和|的short circuit形式,
表达式:A&B首先判断A的逻辑值,然后判断B的值,然后进行逻辑与的计算.
A&&B 首先判断A的逻辑值,如果A的值为假,就可以判断整个表达式的值为假,就不需要再判断B的值.这种用法非常有用,如果A是一个计算量较小的函数,B是一个计算量较大的函数,那么首先判断A对减少计算量是有好处的.另外这也可以防止类似被0除的错误:
flag=denum~=0 && num/denum>10
if flag
%Do Something
end if
上面的表达式就可以防止denum等于0的情况.当然,如果你希望在判断的时候,对A和B表达式都进行计算,就应该使用标准的&或者|.Matlab中的if和while语句中的逻辑与和逻辑或都是默认使用short-circuit形式.
if flag=denum~=0 && num/denum>10
%Do Something
end if

if flag=denum~=0 & num/denum>10
%Do Something
end if
执行的结果一样.