exponenta event banner

eq, =

=

Определение равенства

Синтаксис

Описание

пример

A == B возвращает логический массив с элементами, заданными как логические 1 (true), где массивы A и B равны; в противном случае элемент является логическим 0 (false). Тест сравнивает как реальные, так и мнимые части числовых массивов. eq возвращает логический 0 (false) где A или B имеют NaN или не определены categorical элементы.

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
     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 является 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 изменилось поведение

В R2020b изменилось поведение

Расширенные возможности

.

Создание кода HDL
Создание кода Verilog и VHDL для проектов FPGA и ASIC с использованием Coder™ HDL.

Представлен до R2006a