1 关系运算符
关系运算符用来比较两个数之间的大小关系,在Matlab中的关系运算符包括:
- < 小于
- <= 小于或等于
- > 大于
- >= 大于或等于
- == 等于
- ~= 不等于
这些关系运算符还能用来比较两个同维矩阵,实际上是比较两个矩阵对应的元素,比较结果仍然是一个矩阵. 如果两个矩阵的对应元素符合某个关系,则结果矩阵对应的元素为1,否则为0,例如
2 逻辑运算符和逻辑函数
元素/标量级的逻辑运算符
元素级(Element-Wise)的逻辑运算符用于对标量或矩阵元素进行逻辑运算,得到一个结果标量或结果矩阵。假设操作数为a和b,则元素级逻辑运算符包括:
- a&b : 与运算,两标量或两元素均非0则返回1,否则返回0.
- a|b : 或运算,两标量或者两元素至少有一个是非0则返回1,否则返回0.
- ~a : 非运算,对作用的标量或矩阵元素求补,如果标量或者矩阵元素为0则结果为1,如果标量或矩阵元素不为0则结果为0.
- xor(a,b) : 异或运算,两标量或两元素均非0或均为0则返回0,否则返回1。
这四个逻辑运算的事例如下所示:
其中,与、或、非运算都有对应的函数形式: A & B = and(A, B), A | B=or(A, B), ~A=not(A).注意,如果两个矩阵或者两个数组要进行与、或、异或运算,则这两个矩阵或者数组要具有相同的维度.
比特级的逻辑函数
比特级(Bit-Wise)的逻辑运算符作用在非负两个或一个整数上. 运算时,先将整数参数转换成二进制比特串形式,然后按位操作。假设操作数为a=28 (二进制11100)和b=21 (二进制10101),比特级的逻辑函数包括:
- bitand: 对两个操作数按位与,例如bitand(a,b)=20 (二进制10100).
- bitor: 对两个操作数按位或,例如bitor(a,b)=29 (二进制11101).
- bitcmp: 对操作数按位求反(补),其中二个参数时返回值的二进制串长度,不能小于原操作数的二进制长度,例如bitcmp(a,5)=3 (二进制00011).
- bitxor: 对两个操作数按位异或,例如bitxor(a,b)=9(二进制01001).