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