ne, ~=

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

Синтаксис

Описание

пример

A ~= B возвращает логический массив с элементами, установленными на логический 1 (true) где arrays 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

The 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-by- N матрица и B является скаляром или 1-by- 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 проектов с использованием HDL- Coder™.

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