逻辑运算符连接一个或两个变量,构成逻辑运算表达式。逻辑运算符用于判断对象或对象之间的某种逻辑关系。
【MATLAB】
假设有下面3个数组和矩阵:
code.matlab
A=[0 1 1 0 1];
B=[1 1 0 0 1];
C=[0 1 2;
0 –3 8;
0 5 0];
表3-5列出了各种运算符及对应函数的逻辑运算结果。
表3-5 逻辑运算符
| 运算符 | 函 数 | 描 述 | 示 例 |
|---|---|---|---|
| & | and | 两个数组中相同位置的值都为非0时返回1,否则返回0 | A & B=01001 或 and(A,B) |
| | | or | 两个数组中相同位置的值有一个为非0时返回1,否则返回0 | A | B=11101 或 or(A,B) |
| ~ | not | 对数组中的元素取反,即非0值变为0,0变为1 | ~A=10010 或 not(A) |
| xor | 两个数组中相同位置的元素只有一个为非0时返回1,否则返回0 | xor(A,B)=10100 | |
| any(C) | 如果向量中有任何一个元素为非0,则返回1;否则返回0 | any(C) ans= 0 1 1 | |
| all(C) | 如果向量中所有元素为非0,则返回1,否则返回0 | all(C) ans= 0 1 0 | |
| && | 如果符号两端的表达式均为真,则返回true(1);否则返回0 | a=8; a>5 && a<10 ans= 1 | |
| || | 如果符号两端的表达式有一个为真,则返回true(1);否则返回0 | a=11; a>5 || a<10 ans= 1 |
下面给定3个数,取前两个数比较大小,再取后两个数比较大小,然后用逻辑与运算判断这两个比较运算表达式是否都成立。
code.matlab
>> a=10;b=20;c=30;
>> a<b && b<c
ans =
logical
1
【Python】
Python中的逻辑运算符如表3-6中所示,其中a和b为布尔型变量。
表3-6 逻辑运算符
| 运算符 | 说 明 | 表达式 |
|---|---|---|
| not | 非运算。True取反值为False,False取反为True。 | not a |
| and | 与运算。当左右操作数都为True时,结果为True,否则为False。 | a and b |
| or | 或运算。左右操作数只要一个为True,结果为True。只有两个操作数的值都为False时,运算结果为False。 | a or b |
| ^ | 异或运算。当左右操作数都为True或False时,结果为False,否则为True。 | a^b |
下面给定3个数,取前两个数比较大小,再取后两个数比较大小,然后用逻辑与运算判断这两个比较运算表达式是否都成立。
code.python
>>> a=10;b=20;c=30
>>> a<b and b<c
True