MATLAB关系运算符

关系运算符是指两数值或字符操作数之间的运算符,这种运算将根椐两操作数的关系产生结果 true 或 false。

MATLAB 中的关系运算符有 6 个,如下表所示:

MATLAB 关系运算符
关系运算符 描述
< 小于
<= 小于或等于
> 大于
>= 大于或等于
== 等于(请不要和赋值等号 = 混淆)
~= 不等于

关系运算符可以用来对两个数值、两个数组、两个矩阵或两个字符串等数据类型进行比较,同样也可以进行不同类型的两个数据之间的比较。比较的方式根据所比较的两个数据类型的不同而不同。

值得注意的是,关系运算符可以针对两个相同维度的矩阵的对应元素进行比较,结果返回另一个同样维度的矩阵;也可以针对一个标量和一个矩阵进行运算,这种情况下是将这个标量与另一个矩阵的每个元素进行运算。

关系运算符通过比较对应的元素,产生一个仅包含 1 和 0 的数值或矩阵。返回值是 1 表示比较结果是真,返回值是 0 表示比较结果是假。

关系运算的基本形式如下:

a1 op a2

其中 a1 和 a2 是算术表达式、变量或字符串,op 代表关系运算符。如果两者的关系为真(true)时,那么这个运算将会返回 1 值,否则将会返回 0 值。

下面是一些关系运算和它的运算结果:
运算    结果
3 < 4    1
3 <= 4    1
3 == 4    0
3 > 4    0
4 <= 4    1
'A' < 'B'   1
最后一个运算得到的结果为 1,是因为字符之间的求值要按照 ASCII 表中的顺序。

【示例】用逻辑运算符来比较两个矩阵:
>> A=reshape(1:9,3,3),B=magic(3)
A =
    1     4     7
    2     5     8
    3     6     9

B =
    8     1     6
    3     5     7
    4     9     2

>> A>B
ans =
    3×3 logical 数组
    0   1   1
    0   0   1
    0   0   1

>> A==B
ans =
    3×3 logical 数组
    0   0   0
    0   1   0
    0   0   0

== 和 =

注意,不要混淆了等于===
  • == 是逻辑运算符,用来比较两个值是否相等;
  • = 是赋值运算符,用来把一个值赋给一个变量。

在运算的层次中,关系运算在所有数学运算之后进行。所以下面两个表达式是等价的,均产生结果 1:
7 + 3 < 2+ 11
(7 + 3) < (2 + 11)