Определите равенство
возвращает логический массив с набором элементов к логическому A
== B
1
TRUE
) где массивы A
и B
равны; в противном случае элементом является логический 0
ложь
). Тест сравнивает и действительные и мнимые части числовых массивов. eq
возвращает логический 0
ложь
) где A
или B
имейте NaN или неопределенный categorical
элементы.
Создайте два вектора, содержащие и вещественные и мнимые числа, затем сравните векторы для равенства.
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
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
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
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
B
— ОперандыОперанды в виде скаляров, векторов, матриц или многомерных массивов. Входные параметры A
и B
должен или быть одного размера или иметь размеры, которые совместимы (например, A
M
- N
матрица и B
скаляр или 1
- N
вектор-строка). Для получения дополнительной информации см. "Совместимые размеры массивов для основных операций".
Можно сравнить числовые входные параметры любого типа, и сравнение не несет потерю точности из-за преобразования типов.
Если одним входом является categorical
массив, другим входом может быть categorical
массив, массив ячеек из символьных векторов или односимвольный вектор. Односимвольный вектор расширяется в массив ячеек из символьных векторов одного размера с другим входом. Если обоими входными параметрами является порядковый categorical
массивы, у них должны быть те же наборы категорий, включая их порядок. Если обоими входными параметрами является categorical
массивы, которые не являются порядковыми, у них могут быть различные наборы категорий. Дополнительную информацию см. в Сравнении элементов категориального массива.
Если одним входом является datetime
массив, другим входом может быть datetime
массив, вектор символов или массив ячеек из символьных векторов.
Если одним входом является duration
массив, другим входом может быть duration
массив или числовой массив. Оператор обрабатывает каждое числовое значение как многие стандартные 24-часовые дни.
Если один вход является массивом строк, другой вход может быть массивом строк, вектором символов или массивом ячеек из символьных векторов. Соответствующие элементы A
и B
сравнены лексикографически.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| categorical
| datetime
| duration
Поддержка комплексного числа: Да
При сравнении объектов указателя используйте ==
протестировать, имеют ли объекты тот же указатель. Использование isequal
определить, имеют ли объекты с различными указателями равные значения свойств.
Поведение изменяется в R2016b
При запуске в R2016b со сложения неявного расширения некоторые комбинации аргументов для основных операций, которые ранее возвратили ошибки теперь, приводят к результатам. Например, вы ранее не могли добавить строку и вектор-столбец, но те операнды теперь допустимы для сложения. Другими словами, выражение как [1 2] + [1; 2]
ранее возвращенный ошибка несоответствия размера, но теперь это выполняется.
Если ваш код использует поэлементные операторы и использует ошибки что MATLAB®, ранее возвращенный для несовпадающих размеров, особенно в a try
/catch
блокируйтесь, затем ваш код больше не может фиксировать те ошибки.
Для получения дополнительной информации о необходимых входных размерах для основных операций над массивами смотрите Совместимые Размеры Массивов для Основных Операций.
на categorical
datetime
, и duration
массивыПоведение изменяется в R2020b
Начиная в R2020b, eq
неявное расширение поддержек, когда аргументами является categorical
datetime
, или duration
массивы. Между R2020a и R2016b, неявное расширение поддерживалось только для типов числовых данных и типов данных String.
Эта функция полностью поддерживает "высокие" массивы. Для получения дополнительной информации см. Раздел "Высокие массивы".
Указания и ограничения по применению:
Генерация кода не поддерживает использование eq
протестировать равенство между членом перечисления и массивом строк, символьным массивом или массивом ячеек символьных массивов.
Эта функция полностью поддерживает массивы графического процессора. Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.