✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
个人主页:小嗷犬的个人主页
个人网站:小嗷犬的技术小站
个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。
关系运算符(例如 >
、<
、==
和 ~=
)执行两个值之间的比较。相等或不相等比较的结果为 1 (true
) 或 0(false
)。
>> 1 > 2
ans =
0
>> 1 < 2
ans =
1
我们可以使用关系运算符将某个向量或矩阵与单个标量值进行比较。结果是与原始数组相同大小的逻辑数组。
>> A = [1 2 3; 4 5 6; 7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> A > 5
ans =
0 0 0
0 1 1
1 1 1
我们可以使用逻辑数组作为数组索引,在这种情况下,MATLAB 会提取索引为 true
的数组元素。
>> A = [1 2 3 4 5 6 7 8 9]
A =
1 2 3 4 5 6 7 8 9
>> A(A > 5)
ans =
6 7 8 9
也可以对两个不同向量使用逻辑索引。
>> A = [1 2 3 4 5 6 7 8 9];
>> B = [1 1 1 0 0 0 1 1 1];
>> A(B)
ans =
1 2 3 7 8 9
可以使用逻辑索引在数组中重新赋值。
例如,如果您要将数组 x
中等于 999
的所有值都替换为值 1
,请使用以下语法。
x(x == 999) = 1
使用逻辑运算符 and
(&
) 以及 or
(|
) 可以组合逻辑比较。
要查找小于 6 且大于 2 的值,请使用 &
:
>> A = [1 2 3 4 5 6 7 8 9];
>> A(A > 2 & A < 6)
ans =
3 4 5
要查找小于 2 或大于 6 的值,请使用 |
:
>> A = [1 2 3 4 5 6 7 8 9];
>> A(A < 2 | A > 6)
ans =
1 7 8 9
MATLAB
支持的关系运算符如下表所示:
运算符 | 说明 | 函数 |
---|---|---|
== |
等于 | eq |
~= |
不等于 | ne |
> |
大于 | gt |
>= |
大于或等于 | ge |
< |
小于 | lt |
<= |
小于或等于 | le |
MATLAB
支持的逻辑运算符如下表所示:
运算符 | 说明 | 函数 |
---|---|---|
& | 逻辑与 | and |
| | 逻辑或 | or |
~ | 逻辑非 | not |
&& | 短路逻辑与 | - |
|| | 短路逻辑或 | - |