✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
🍎个人主页:小嗷犬的个人主页
🍊个人网站:小嗷犬的技术小站
🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。
本文目录
- 关系运算符
- 逻辑索引
关系运算符
关系运算符(例如 >
、<
、==
和 ~=
)执行两个值之间的比较。相等或不相等比较的结果为 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