exponenta event banner

ne, ~

=

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

Синтаксис

Описание

пример

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

ne(A,B) является альтернативным способом выполнения A ~= B, но используется редко. Он обеспечивает перегрузку оператора для классов.

Примеры

свернуть все

Создайте два вектора, содержащих вещественные и мнимые числа, затем сравните векторы для неравенства.

A = [1+i 3 2 4+i];
B = [1 3+i 2 4+i];
A ~= B
ans = 1x4 logical array

   1   1   0   0

ne функция проверяет действительную и мнимую части на неравенство и возвращает логическую 1 (true), где одна или обе части не равны.

Создайте вектор символов.

M = 'masterpiece';

Проверка наличия определенного символа с помощью ~=.

M ~= 'n'
ans = 1x11 logical array

   1   1   1   1   1   1   1   1   1   1   1

Значение логического 1 (true) указывает на отсутствие символа 'n'. Символ отсутствует в векторе.

Создайте категориальный массив с двумя значениями: '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

   0   0   1
   1   0   1

Значение логического 1 (true) указывает значение, не входящее в категорию. С тех пор A имеет только две категории, A ~= 'heads' возвращает тот же ответ, что и A == 'tails'.

Сравнение строк A за неравенство.

A(1,:) ~= A(2,:)
ans = 1x3 logical array

   1   0   0

Значение логического 1 (true) указывает, где строки имеют неравные значения категорий.

Многие числа, выраженные десятичным текстом, не могут быть представлены точно как двоичные плавающие числа. Это приводит к небольшим различиям в результатах, которые ~= отражает оператор.

Выполните несколько операций вычитания для чисел, выраженных десятичным знаком, и сохраните результат в C.

C = 0.5-0.4-0.1
C = -2.7756e-17

С точной десятичной арифметикой, C должно быть точно равно 0. Его малое значение обусловлено характером двоичной арифметики с плавающей запятой.

Выдержать сравнение C кому 0 за неравенство.

C ~= 0
ans = logical
   1

Сравнение чисел с плавающей запятой с помощью допуска, tol, вместо использования ~=.

tol = eps(0.5);
abs(C-0) > tol
ans = logical
   0

Два числа, 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

   0
   1

Входные аргументы

свернуть все

Операнды, заданные как скаляры, векторы, матрицы или многомерные массивы. Исходные данные 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
Поддержка комплексного номера: Да

Вопросы совместимости

развернуть все

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

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

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

..

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

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