发现没,双等号(“ == ”)的作用就是将矩阵相同的部分找出来,并在相同位置相同值设为1,相同位置不同值设为0 。
于是可以计算两幅图的对应位置是否相同,可以计算 :两幅图有多少对应位置是相同的像素值的总数,这个用sum()函数就行:一个sum ( 括号内为矩阵名 )得到一个一维矩阵,其每一列的值为所求的原始矩阵当前列所在的元素和,再加一个sum,即得两图相同的像素数。比方说比较矩阵A 和矩阵B ,相同像素数 = sum(sum(A == B))
————————————————
原文链接:https://blog.csdn.net/qq_42099762/article/details/121584844
判断数组a的第i个元素是否不等于0,如果不等于0,结果就为真(true),否则就为假(false)。
解析:a(i)表示数组a中的第i个元素,matlab中~表示非,~=表示不等于(≠)
&是和(and)的意思;
&&是“逻辑与”;
&&被称为&的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除的错误:
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删