请问高手:在matlab中,&和&&的区别
【转】Matlab中的逻辑运算"&&"与"&","||"与"|"的区别 (2009-12-06 20:59:06)转载标签: 杂谈 逻辑运算符:&与|或~非 “&”和“|”操作符可比较两个标量或两个同阶矩阵.对于矩阵来说必须符合规则,如果A和B都是0-1矩阵,则A&B或A|B也都是0-1矩阵,这个0-1矩阵的元素是A和B对应元素之间逻辑运算的结果,逻辑操作符认定任何非零元素都为真,给出“1”,任何零元素都为假,给出“0”. 非(或逻辑非)是一元操作符,即~A:当A是非零时结果为“0”;当A为“0”时,结果为“1”.因此下列两种表示:p | (~p) 结果为1.p & (~p) 结果为0.any和all函数在连接操作时很有用,设x是0-1向量,如果x中任意有一元素非零时,any(x)返回“1”,否则返回“0”;all(x)函数当x的所有元素非零时,返回“1”,否则也返回“0”.这些函数在if语句中经常被用到.如: if all(A<5) do something end另外,还有"&&"和"||"运算符,Matlab中的逻辑运算"&&"与"&","||"与"|"的区别如下:&&和||被称为&和|的short circuit形式,A&B(1)首先判断A的逻辑值,然后判断B的值,然后进行逻辑与的计算。