• RSS订阅 加入收藏  设为首页
MATLAB

Matlab逻辑运算符:&(与)、|(或)、~(非)

时间:2024/10/16 15:51:55   作者:Leslie   来源:正势利   阅读:74   评论:0
内容摘要:Matlab中的逻辑运算符(“&&“和“||“)的运用本质及其优点逻辑运算符:&(与)、|(或)、~(非)&(与)和|(或)运算符既可以计算两个同阶矩阵也可用来计算两个标量的逻辑关系,当输入的矩阵均为0—1矩阵时,那么输出也是0—1矩阵。学上学的并没有什么区别。下来重点来看看以下两个逻辑...

Matlab中的逻辑运算符(“&&“和“||“)的运用本质及其优点

逻辑运算符:&(与)、|(或)、~(非)

&(与)和 |(或)运算符既可以计算两个同阶矩阵也可用来计算两个标量的逻辑关系,当输入的矩阵均为0—1矩阵时,那么输出也是0—1矩阵。

学上学的并没有什么区别。下来重点来看看以下两个逻辑运算符在matlab中的实质运算过程。

Matlab中,"&&"和"||"运算符的逻辑运算"&&"与"&","||"与"|"的区别如下:

"&&"运算符

(1)A&&B的运算中,是先判断A的逻辑值,下一步再判断B的值,最后才判断整个表达式的值。当A为假时,那么就之间认为这个表达上为假的,不

断B的值。

(2)A和B只能是标量,不能是矩阵。

"||"运算符(同理)

(1)A||B的运算中,是先判断A的逻辑值,下一步再判断B的值,最后才判断整个表达式的值。当A为假时,那么就之间认为这个表达上为假的,不再

的值。

(2)A和B只能是标量,不能是矩阵。

优点:

那么,在Matlab中,这样计算的法则有什么好处呢,最大的好处就是,当你判断左边的为错误时,就可以得到整个为错误,就不需要计算以下的过程

在程序中,当A为一个小计算量的函数时,B为一个较大的计算量的函数时,那么这样就能够大大提高计算速度,有利于优化算法。

matlab中的三种逻辑运算符

元素方式逻辑运算符

A = [0 1 1 0 1];

B = [1 1 0 0 1];

为例:

运算符 功能描述
& 与,两个操作数同时为1,结果为1;反之,结果为0。  A&B = 01001
| 或,两者同时为0,结果为0,反之,结果为1.  A|B = 11101
~ 非,A为0时,结果为1,否则结果为0.  ~A = 10010
xor 异或,两个操作数相同时,结果为0,否则为1。  xor(A,B) = 10100


比特方式逻辑运算符

A = 28;

B = 21;

为例:

%%

A = 28;                                %对应二进制为11100

B = 21;                                %对应二进制为10101

bitand(A,B) %对对应的位进行与操作,因此得到的二进制为10100

函数名 功能
bitand  位与,返回两个非负整数的对应位做与操作  bitand(A,B) = 20
(binary 10100)
bitor  位或,返回两个非负整数的对应位做或操作  bitor(A,B) = 29
(binary 11101)
bitcmp  位码。返回n位整数表示的补码  bitcmp(A,5)
(binary 00011)
bitxor  位或异。返回两个非负整数的对应位做异或操作  bitxor(A,B) = 9
(binary 01001)
其余函数不进行一一举例。注意,这里的‘位’指的是转化为二进制后的位。


短路逻辑运算符

A = 10

B = 5

为例:

运算符 功能描述
&& 逻辑与,两个操作数同时为1,运算结果为1,否则为0  X = (A>0)&&(A>B)
结果为1;
X = (A>0)&&(A<B)

结果为0
|| 逻辑非,两个操作数同时为0,运算结果为0,否则为1  X = (A<0)&&(A<B)
结果为1;
X = (A<0)&&(A>B)

结果为0




标签:逻辑 运算 运算符 

逝者如斯,不舍昼夜作者QQ及微信:49922779 点击这里给我发消息

相关评论
QQ交流群:120100441    QQ客服:49922779 闽ICP备01008686号