MATLAB 逻辑数组

CSDN

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
个人主页:小嗷犬的个人主页
个人网站:小嗷犬的技术小站
个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。


本文目录

  • 关系运算
  • 逻辑索引
  • 关系运算符与逻辑运算符
    • 关系运算符
    • 逻辑运算符


关系运算

关系运算符(例如 ><==~=)执行两个值之间的比较。相等或不相等比较的结果为 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
&& 短路逻辑与 -
|| 短路逻辑或 -

你可能感兴趣的:(MATLAB,#,MATLAB基础入门,matlab,开发语言)