matlab中if的的逗号
分号和逗号是语句的分隔符。在1行代码中可以有多个语句,语句之间用逗号或分号分隔。赋值语句的等号右端,可以用分号结束,也可以用逗号结束或者直接回车。用逗号结束或直接回车,运行后变量名列表中所赋的值都会显示出来。用分号结束,运行后变量名列表中所赋的值不会显示出来。
这里逗号可要可不要。
&&被称为&的short circuit形式,并不完全相同,区别如下:
1、判断不同
A&B:首先判断A的逻辑值,然后判断B的值,然后进行逻辑与的计算。
A&&B:首先判断A的逻辑值,如果A的值为假,就可以判断整个表达式的值为假,就不需要再判断B的值。
2、适用的对象不同
A&B:A和B可以为矩阵(e.g.A=[1 0],B=[0 0])。
A&&B:A和B不能是矩阵,只能是标量。
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形式。
扩展资料:
matlab的逻辑运算符:&
"&”操作符可比较两个标量或两个同阶矩阵,对于矩阵来说必须符合规则,如果A和B都是0-1矩阵,则A&B也都是0-1矩阵。
这个0-1矩阵的元素是A和B对应元素之间逻辑运算的结果,逻辑操作符认定任何非零元素都为真,给出"1",任何零元素都为假,给出"0"。
如:p&(~p)结果为0
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!