Операторы отношения сравнивают операнды количественно, с помощью операторов как “меньше, чем”, “больше, чем”, и “не равняются”. Результатом реляционного сравнения является логический массив, указывающий на местоположения, где отношение верно.
Это операторы отношения в MATLAB®.
Символ | Функциональный эквивалент | Описание |
---|---|---|
< | lt | Меньше, чем |
<= | le | Меньше чем или равный |
> | gt | Больше, чем |
>= | ge | Больше, чем или равный |
== | eq | Равный |
~= | ne | Не равняются |
Операторы отношения выполняют поэлементные сравнения между двумя массивами. Массивы должны иметь совместимые размеры, чтобы упростить операцию. Массивы с совместимыми размерами неявно расширены, чтобы быть одного размера во время выполнения вычисления. В самых простых случаях эти два операнда являются массивами, одного размера, или каждый - скаляр. Для получения дополнительной информации см. "Совместимые размеры массивов для основных операций".
Например, если вы сравниваете две матрицы, одного размера, затем результатом является логическая матрица, одного размера с элементами, указывающими, где отношение верно.
A = [2 4 6; 8 10 12]
A = 2 4 6 8 10 12
B = [5 5 5; 9 9 9]
B = 5 5 5 9 9 9
A < B
ans = 1 1 0 1 0 0
Точно так же можно сравнить один из массивов к скаляру.
A > 7
ans = 0 0 0 1 1 1
Если вы сравниваете 1
- N
вектор-строка к M
- 1
вектор-столбец, затем MATLAB расширяет каждый вектор в M
- N
матрица прежде, чем выполнить сравнение. Получившаяся матрица содержит результат сравнения для каждой комбинации элементов в векторах.
A = 1:3
A = 1 2 3
B = [2; 3]
B = 2 3
A >= B
ans = 0 1 1 0 0 1
Операторы отношения работают с массивами, для которых любая размерность имеет нулевой размер, пока оба массива имеют совместимые размеры. Это означает, что, если один массив имеет размер размерности нуля, то размер соответствующей размерности в другом массиве должен быть 1 или нуль, и размер той размерности в выходе является нулем.
A = ones(3,0); B = ones(3,1); A == B
ans = Empty matrix: 3-by-0
Однако выражения такой как
A == []
возвратите ошибку если A
не 0 на 0 или 1 на 1. Это поведение сопоставимо с тем из всех других бинарных операторов, таково как +
, -
, >
, <
, &
, |
, и так далее.
Чтобы протестировать на пустые массивы, используйте isempty(A)
.
Операторы >
, <
, >=
, и <=
используйте только действительную часть операндов в выполнении сравнений.
Операторы ==
и ~=
протестируйте и действительные и мнимые части операндов.
Inf
NaN
NAT
, и неопределенные Сравнения ЭлементаInf
значения равны другому Inf
значения.
NaN
значения не равны никакому другому числовому значению, включая другой NaN
значения.
NaT
значения не равны никакому другому значению datetime, включая другой NaT
значения.
Неопределенные категориальные элементы не равны никакому другому категориальному значению, включая другие неопределенные элементы.
Используйте операторы отношения в сочетании с логическими операторами A & B
(И), A | B
(ИЛИ), xor(A,B)
(XOR) и ~A
(НЕ), чтобы представить в виде строки вместе более комплексные логические операторы.
Например, можно расположиться, где отрицательные элементы происходят в двух массивах.
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
Для большего количества примеров смотрите, Находят Элементы массива, Которые Удовлетворяют Условию.