关系运算符是指两数值或字符操作数之间的运算符,这种运算将根椐两操作数的关系产生结果 true 或 false。
MATLAB 中的关系运算符有 6 个,如下表所示:
关系运算符 | 描述 |
---|---|
< | 小于 |
<= | 小于或等于 |
> | 大于 |
>= | 大于或等于 |
== | 等于(请不要和赋值等号 = 混淆) |
~= | 不等于 |
关系运算符可以用来对两个数值、两个数组、两个矩阵或两个字符串等数据类型进行比较,同样也可以进行不同类型的两个数据之间的比较。比较的方式根据所比较的两个数据类型的不同而不同。
值得注意的是,关系运算符可以针对两个相同维度的矩阵的对应元素进行比较,结果返回另一个同样维度的矩阵;也可以针对一个标量和一个矩阵进行运算,这种情况下是将这个标量与另一个矩阵的每个元素进行运算。
关系运算符通过比较对应的元素,产生一个仅包含 1 和 0 的数值或矩阵。返回值是 1 表示比较结果是真,返回值是 0 表示比较结果是假。
关系运算的基本形式如下:
其中 a1 和 a2 是算术表达式、变量或字符串,op 代表关系运算符。如果两者的关系为真(true)时,那么这个运算将会返回 1 值,否则将会返回 0 值。
下面是一些关系运算和它的运算结果:
最后一个运算得到的结果为 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: