Реляционные операторы количественно сравнивают операнды, используя такие операторы, как «меньше», «больше» и «не равно». Результатом реляционного сравнения является логический массив, указывающий расположения, в которых отношение истинно.
Это реляционные операторы в MATLAB ®.
| Символ | Эквивалент функции | Описание |
|---|---|---|
< | lt | Меньше, чем |
<= | le | Меньше или равно |
> | gt | Больше, чем |
>= | 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около-N вектор строки к Mоколо-1 вектор столбца, затем MATLAB расширяет каждый вектор в Mоколо-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-by-0 или 1-by-1. Это поведение согласуется с поведением всех других бинарных операторов, таких как +, -, >, <, &, |и так далее.
Для проверки пустых массивов используйте isempty(A).
Операторы >, <, >=, и <= использовать только действительную часть операндов при выполнении сравнений.
Операторы == и ~= проверить как реальные, так и мнимые части операндов.
Inf, NaN, NaTи неопределенные сравнения элементовInf значения равны другим Inf значения.
NaN значения не равны никакому другому числовому значению, включая другое NaN значения.
NaT значения не равны никакому другому значению datetime, включая другое NaT значения.
Неопределенные категориальные элементы не равны никакому другому категориальному значению, включая другие неопределенные элементы.
Использовать реляционные операторы совместно с логическими операторами A & B (И), A | B (ИЛИ), xor(A,B) (XOR), и ~A (NOT), чтобы объединить более сложные логические операторы.
Например, можно определить местоположение отрицательных элементов в двух массивах.
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Дополнительные примеры см. в разделе Поиск элементов массива, удовлетворяющих условию.