使用关系操作符进行数组比较
关系操作符使用“小于”、“大于”和“不等于”等操作符定量地比较操作数。关系比较的结果是一个逻辑数组,指示关系为真的位置。
这些是MATLAB中的关系运算符®。
象征 | 函数等价 | 描述 |
---|---|---|
< |
lt |
不到 |
<= |
勒 |
小于或等于 |
> |
gt |
大于 |
>= |
通用电气 |
大于或等于 |
= = |
情商 |
等于 |
~ = |
不 |
不等于 |
数组的比较
数字数组
关系运算符在两个数组之间执行逐元素比较。数组必须具有兼容的大小以方便操作。具有兼容大小的数组在计算执行期间隐式地扩展为相同的大小。在最简单的情况下,两个操作数是大小相同的数组,或者其中一个是标量。有关更多信息,请参见基本操作的兼容数组大小。
例如,如果比较两个大小相同的矩阵,那么结果是一个大小相同的逻辑矩阵,其中包含指示关系在何处为真的元素。
A = [2 4 6];[10]
A = 2 4 6 8 10 12
B = [5];[9]
B = 5 5 5 9 9 9
A < b
Ans = 1 1 0 1 0 0
类似地,您可以将其中一个数组与标量进行比较。
A bbbb7
Ans = 0 0 0 1 1 1
如果你比较1
——- - - - - -N
行向量到an米
——- - - - - -1
列向量,然后MATLAB将每个向量展开成米
——- - - - - -N
矩阵,然后再执行比较。生成的矩阵包含向量中每个元素组合的比较结果。
A = 1:3
A = 1 2 3
B = [2];3]
B = 2
A >= b
Ans = 0 1 1 0 0 1
空数组
只要两个数组具有兼容的大小,关系运算符就可以处理任意维度大小为0的数组。这意味着,如果一个数组的维度大小为零,那么另一个数组中相应维度的大小必须为1或零,并且该维度在输出中的大小为零。
A = ones(3,0);B = ones(3,1);A == b
ans =空矩阵:3 × 0
然而,像
A == []
返回一个错误一个
不是0 × 0或者1 × 1。此行为与所有其他二进制操作符一致,例如+
,-
,>
,<
,&
,|
等等。
要测试空数组,请使用isempty ()
。
复数
运营商
>
,<
,>=
,<=
在执行比较时,只使用操作数的实部。运营商
= =
和~ =
测试操作数的实部和虚部。
正
,南
,NaT
,以及未定义的元素比较
正
值是相等的正
值。南
值不等于任何其他数值,包括other南
值。NaT
value不等于任何其他日期时间值,包括otherNaT
值。未定义分类元素不等于任何其他分类值,包括其他未定义元素。
逻辑语句
将关系运算符与逻辑运算符结合使用A & b
(和)A b|0 b
(或),xor (A, B)
(XOR),~一个
(NOT),将更复杂的逻辑语句串在一起。
例如,您可以定位两个数组中出现负元素的位置。
A = [2 -1;3 10]
A = 2 -1 -3 10
B = [0 -2];3 (1)
B = 0 -2 -3 -1
A<0, b <0
Ans = 0 1 1 0
有关更多示例,请参见查找满足条件的数组元素。