MATLAB关系运算符和逻辑运算符

原文地址为: MATLAB关系运算符和逻辑运算符

1 关系运算符

关系运算符用来比较两个数之间的大小关系,在Matlab中的关系运算符包括:

  1. <    小于
  2. <=  小于或等于
  3. >        大于
  4. >=      大于或等于
  5. ==      等于
  6. ~=      不等于

  这些关系运算符还能用来比较两个同维矩阵,实际上是比较两个矩阵对应的元素,比较结果仍然是一个矩阵. 如果两个矩阵的对应元素符合某个关系,则结果矩阵对应的元素为1,否则为0,例如

  

2 逻辑运算符和逻辑函数

元素/标量级的逻辑运算符

  元素级(Element-Wise)的逻辑运算符用于对标量或矩阵元素进行逻辑运算,得到一个结果标量或结果矩阵。假设操作数为a和b,则元素级逻辑运算符包括:

  1. a&b : 与运算,两标量或两元素均非0则返回1,否则返回0.
  2. a|b :  或运算,两标量或者两元素至少有一个是非0则返回1,否则返回0.
  3. ~a :   非运算,对作用的标量或矩阵元素求补,如果标量或者矩阵元素为0则结果为1,如果标量或矩阵元素不为0则结果为0.
  4. 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),比特级的逻辑函数包括:

  1. bitand:       对两个操作数按位与,例如bitand(a,b)=20 (二进制10100).
  2. bitor:         对两个操作数按位或,例如bitor(a,b)=29 (二进制11101).
  3. bitcmp:      对操作数按位求反(补),其中二个参数时返回值的二进制串长度,不能小于原操作数的二进制长度,例如bitcmp(a,5)=3 (二进制00011).
  4. bitxor:       对两个操作数按位异或,例如bitxor(a,b)=9(二进制01001).

 


转载请注明本文地址: MATLAB关系运算符和逻辑运算符
  • 17
    点赞
  • 123
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB中有两种类型的逻辑运算符和函数:Element-wise和Short-circuit。 1. Element-wise运算符和函数:这些运算符和函数对应元素的逻辑阵列进行运算。例如,对于两个逻辑阵列A和B,A&B将返回一个逻辑阵列,其中每个元素都是A和B对应元素的逻辑 AND 运算结果。常见的Element-wise运算符和函数有: - &:逻辑 AND 运算符,对应元素相乘。 - |:逻辑 OR 运算符,对应元素相加。 - ~:逻辑 NOT 运算符,对应元素取反。 - xor:逻辑 XOR 运算符,对应元素进行异或运算。 - any:判断逻辑阵列中是否存在至少一个非零元素。 - all:判断逻辑阵列中所有元素是否都非零。 2. Short-circuit运算符和函数:这些运算符和函数对标量逻辑表达式进行运算。例如,对于两个逻辑表达式A和B,A&&B将返回一个逻辑值,表示A和B的逻辑 AND 运算结果。常见的Short-circuit运算符和函数有: - &&:逻辑 AND 运算符,如果第一个表达式为false,则不计算第二个表达式。 - ||:逻辑 OR 运算符,如果第一个表达式为true,则不计算第二个表达式。 - &:逻辑 AND 运算符,对标量逻辑表达式进行运算。 - |:逻辑 OR 运算符,对标量逻辑表达式进行运算。 - ~:逻辑 NOT 运算符,对标量逻辑表达式进行运算。 下面是一些例子: ```matlab % Element-wise运算符和函数 A = [1 0 1; 0 1 0; 1 0 1]; B = [0 1 1; 1 0 1; 0 1 0]; C = A & B % 对应元素相乘,输出:[0 0 1; 0 0 0; 0 0 0] D = A | B % 对应元素相加,输出:[1 1 1; 1 1 1; 1 1 1] E = ~A % 对应元素取反,输出:[0 1 0; 1 0 1; 0 1 0] F = xor(A, B) % 对应元素进行异或运算,输出:[1 1 0; 1 1 1; 1 1 1] G = any(A) % 判断逻辑阵列中是否存在至少一个非零元素,输出:[1 1 1] H = all(A) % 判断逻辑阵列中所有元素是否都非零,输出:0 % Short-circuit运算符和函数 a = 1; b = 2; c = (a == 1) && (b == 2) % 逻辑 AND 运算符,输出:1 d = (a == 2) || (b == 2) % 逻辑 OR 运算符,输出:1 e = (a == 1) & (b == 2) % 逻辑 AND 运算符,输出:1 f = (a == 2) | (b == 2) % 逻辑 OR 运算符,输出:1 g = ~(a == 2) % 逻辑 NOT 运算符,输出:1 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值