今天在matlab仿真基于区域生长的图像分割的算法时,遇到了
??? Operands to the || and && operators must be convertible to logical
scalar values.
Error in ==> regiongrowing at 25
if Y(i+u,j+v)==0 && abs(I(i+u,j+v)-seed)<=threshold
%判断是否未存在于输出矩阵Y,并且为符合阈值条件的点
问题:用||和&&必须是标量
所以对于|| && 只能用于标量 而&用于矩阵运算
不同点一
当判断两个逻辑值,例如A&(f(x)>c)和A&&(f(x)>c)时,对于第一种情况,不论A是否为真,A和(f(x)>c)都要计算,但是对第二种情况,如果A是false,那么后面的(f(x)>c)就不用计算了,倘若f(x)是一个计算量大的函数,那么这将节省很多时间。
不同点二
&适用于矩阵间的逻辑运算,&&不适用,只适用于单个元素,包括数值和字符。
原文地址:http://blog.csdn.net/wyl2724/article/details/43051329