Определите равенство
возвращает логический массив с набором элементов к логическому A
== B
1
TRUE
) где массивы A
и B
равны; в противном случае элементом является логический 0
ложь
). Тест сравнивает и действительные и мнимые части числовых массивов. eq
возвращает логический 0
ложь
) где A
или B
имейте NaN или неопределенные категориальные элементы.
Создайте два вектора, содержащие и вещественные и мнимые числа, затем сравните векторы для равенства.
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
вектор-строка). Для получения дополнительной информации см. "Совместимые размеры массивов для основных операций".
Можно сравнить числовые входные параметры любого типа, и сравнение не несет потерю точности из-за преобразования типов.
Если A
и B
являются категориальными, datetime или массивы длительности, затем они должны быть одного размера, если каждый не скаляр.
Если один вход является категориальным массивом, другой вход может быть категориальным массивом, массивом ячеек из символьных векторов или односимвольным вектором. Односимвольный вектор расширяется в массив ячеек из символьных векторов одного размера с другим входом. Если оба входных параметров являются порядковыми категориальными массивами, у них должны быть те же наборы категорий, включая их порядок. Если оба входных параметров являются категориальными массивами, которые не являются порядковыми, у них могут быть различные наборы категорий. Дополнительную информацию см. в Сравнении элементов категориального массива.
Если один вход является массивом datetime, другой вход может быть массивом datetime, вектором символов или массивом ячеек из символьных векторов.
Если один вход является массивом длительности, другой вход может быть массивом длительности или числовым массивом. Оператор обрабатывает каждое числовое значение как многие стандартные 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®, ранее возвращенный для несовпадающих размеров, особенно в try
/catch
блокируйтесь, затем ваш код больше не может фиксировать те ошибки.
Для получения дополнительной информации о необходимых входных размерах для основных операций над массивами смотрите Совместимые Размеры Массивов для Основных Операций.
Эта функция полностью поддерживает "высокие" массивы. Для получения дополнительной информации см. Раздел "Высокие массивы".
Указания и ограничения по применению:
Генерация кода не поддерживает использование eq
протестировать равенство между членом перечисления и массивом строк, символьным массивом или массивом ячеек символьных массивов.
Эта функция полностью поддерживает массивы графического процессора. Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.