Определите равенство
A == B
eq(A,B)
возвращает логический массив с набором элементов к логическому A == B
1
(true
), где массивы A
и B
равны; в противном случае элементом является логический 0
(false
). Тест сравнивает и действительные и мнимые части числовых массивов. eq
возвращает логический 0
(false
), где A
или B
имеют NaN или неопределенные категориальные элементы.
является альтернативным способом выполнить eq(A,B)
A == B
, но редко используется. Это позволяет выполнить перегрузку оператора для классов.
Создайте два вектора, содержащие и вещественные и мнимые числа, затем сравните векторы для равенства.
A = [1+i 3 2 4+i]; B = [1 3+i 2 4+i]; A == B
ans = 1x4 logical array
0 0 1 1
Функция eq
тестирует и действительные и мнимые части на равенство и возвращает логический 1
(true
) только там, где обе части равны.
Создайте вектор символа.
M = 'masterpiece';
Протестируйте на присутствие определенного символа с помощью ==
.
M == 'e'
ans = 1x11 logical array
0 0 0 0 1 0 0 0 1 0 1
Значение логического 1
(true
) указывает на присутствие символьного 'e'
.
Создайте категориальный массив с двумя значениями: 'heads'
и 'tails'
.
A = categorical({'heads' 'heads' 'tails'; 'tails' 'heads' 'tails'})
A = 2x3 categorical array
heads heads tails
tails heads tails
Найдите все значения в категории 'heads'
.
A == 'heads'
ans = 2x3 logical array
1 1 0
0 1 0
Значение логического 1
(true
) указывает на значение в категории.
Сравните строки A
для равенства.
A(1,:) == A(2,:)
ans = 1x3 logical array
0 1 1
Значение логического 1
(true
) указывает, где строки имеют равные значения категории.
Много чисел, выраженных в десятичном тексте, не могут быть представлены точно как двоичные плавающие числа. Это приводит к небольшим различиям в результатах, которые отражает оператор ==
.
Выполните несколько операций вычитания на числах, выраженных в десятичном числе, и сохраните результат в C
.
C = 0.5-0.4-0.1
C = -2.7756e-17
С точной десятичной системой исчисления C
должен быть равен точно 0
. Его маленькое значение происходит из-за природы бинарной арифметики с плавающей точкой.
Сравните C
с 0
для равенства.
C == 0
ans = logical
0
Сравните числа с плавающей запятой с помощью допуска, tol
, вместо того, чтобы использовать ==
.
tol = eps(0.5); abs(C-0) < tol
ans = logical
1
Эти два числа, C
и 0
, ближе друг к другу, чем два последовательных числа с плавающей запятой около 0.5
. Во многих ситуациях C
может действовать как 0
.
Сравните элементы двух массивов datetime
.
Создайте два массива datetime
в различных часовых поясах.
t1 = [2014,04,14,9,0,0;2014,04,14,10,0,0]; A = datetime(t1,'TimeZone','America/Los_Angeles'); A.Format = 'd-MMM-y HH:mm:ss Z'
A = 2x1 datetime array
14-Apr-2014 09:00:00 -0700
14-Apr-2014 10:00:00 -0700
t2 = [2014,04,14,12,0,0;2014,04,14,12,30,0]; B = datetime(t2,'TimeZone','America/New_York'); B.Format = 'd-MMM-y HH:mm:ss Z'
B = 2x1 datetime array
14-Apr-2014 12:00:00 -0400
14-Apr-2014 12:30:00 -0400
Проверьте, где элементы в A
и B
равны.
A==B
ans = 2x1 logical array
1
0
A
Левый массивЛевый массив, заданный как скаляр, вектор, матрица или многомерный массив. Числовой или строка вводит A
, и B
должен или быть одного размера или иметь размеры, которые совместимы (например, A
является M
-by-N
матрица, и B
является скаляром или 1
-by-N
вектор - строка). Для получения дополнительной информации см. "Совместимые размеры массивов для основных операций".
Если A
и B
являются категориальными, datetime или массивы длительности, то они должны быть одного размера, если каждый не скаляр.
Если один входной параметр является категориальным массивом, другой входной параметр может быть категориальным массивом, массивом ячеек из символьных векторов или односимвольным вектором. Односимвольный вектор расширяется в массив ячеек из символьных векторов, одного размера как другой входной параметр. Если оба входных параметра являются порядковыми категориальными массивами, у них должны быть те же наборы категорий, включая их порядок. Если оба входных параметра являются категориальными массивами, которые не являются порядковыми, у них могут быть различные наборы категорий. Дополнительную информацию см. в Сравнении элементов категориального массива.
Если один входной параметр является массивом datetime, другой входной параметр может быть массивом datetime, вектором символа или массивом ячеек из символьных векторов.
Если один входной параметр является массивом длительности, другой входной параметр может быть массивом длительности или числовым массивом. Оператор обрабатывает каждое числовое значение как многие стандартные 24-часовые дни.
Если один входной параметр является массивом строк, другой входной параметр может быть массивом строк, вектором символа или массивом ячеек из символьных векторов. Соответствующие элементы A
и B
сравнены лексикографически.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| логический
| char
| строка
| категориальный
| datetime
| длительность
Поддержка комплексного числа: Да
B
Правый массивПравый массив, заданный как скаляр, вектор, матрица или многомерный массив. Числовой или строка вводит A
, и B
должен или быть одного размера или иметь размеры, которые совместимы (например, A
является M
-by-N
матрица, и B
является скаляром или 1
-by-N
вектор - строка). Для получения дополнительной информации см. "Совместимые размеры массивов для основных операций".
Если A
и B
являются категориальными, datetime или массивы длительности, то они должны быть одного размера, если каждый не скаляр.
Если один входной параметр является категориальным массивом, другой входной параметр может быть категориальным массивом, массивом ячеек из символьных векторов или односимвольным вектором. Односимвольный вектор расширяется в массив ячеек из символьных векторов, одного размера как другой входной параметр. Если оба входных параметра являются порядковыми категориальными массивами, у них должны быть те же наборы категорий, включая их порядок. Если оба входных параметра являются категориальными массивами, которые не являются порядковыми, у них могут быть различные наборы категорий. Дополнительную информацию см. в Сравнении элементов категориального массива.
Если один входной параметр является массивом datetime, другой входной параметр может быть массивом datetime, вектором символа или массивом ячеек из символьных векторов.
Если один входной параметр является массивом длительности, другой входной параметр может быть массивом длительности или числовым массивом. Оператор обрабатывает каждое числовое значение как многие стандартные 24-часовые дни.
Если один входной параметр является массивом строк, другой входной параметр может быть массивом строк, вектором символа или массивом ячеек из символьных векторов. Соответствующие элементы A
и B
сравнены лексикографически.
Типы данных: единственный
| удваиваются
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| логический
| char
| строка
| категориальный
| datetime
| длительность
Поддержка комплексного числа: Да
При сравнении объектов указателя используйте ==
, чтобы протестировать, имеют ли объекты тот же указатель. Используйте isequal
, чтобы определить, имеют ли объекты с различными указателями равные значения свойств.
Эта функция полностью поддерживает "высокие" массивы. Для получения дополнительной информации см. Раздел "Высокие массивы".
Указания и ограничения по применению:
Генерация кода не поддерживает использование eq
, чтобы протестировать равенство между участником перечисления и массивом строк, символьным массивом или массивом ячеек символьных массивов.
Эта функция полностью поддерживает массивы GPU. Для получения дополнительной информации смотрите функции MATLAB Выполнения на GPU (Parallel Computing Toolbox).
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Выполнения с Распределенными Массивами (Parallel Computing Toolbox).
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.