ne, ~ =

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

Синтаксис

A ~= B
ne(A,B)

Описание

пример

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

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 array
     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 array
   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 array
   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 вектор - строка). Для получения дополнительной информации см. "Совместимые размеры массивов для основных операций".

Если A и B являются категориальными, datetime или массивы длительности, то они должны быть одного размера, если каждый не скаляр.

  • Если один вход является категориальным массивом, другой вход может быть категориальным массивом, массивом ячеек из символьных векторов или односимвольным вектором. Односимвольный вектор расширяется в массив ячеек из символьных векторов, одного размера как другой вход. Если оба входных параметров являются порядковыми категориальными массивами, у них должны быть те же наборы категорий, включая их порядок. Если оба входных параметров являются категориальными массивами, которые не являются порядковыми, у них могут быть различные наборы категорий. Дополнительную информацию см. в Сравнении элементов категориального массива.

  • Если один вход является массивом datetime, другой вход может быть массивом datetime, вектором символов или массивом ячеек из символьных векторов.

  • Если один вход является массивом длительности, другой вход может быть массивом длительности или числовым массивом. Оператор обрабатывает каждое числовое значение как многие стандартные 24-часовые дни.

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | categorical | datetime | duration
Поддержка комплексного числа: Да

Правый массив, заданный как скаляр, вектор, матрица или многомерный массив. Числовой или строка вводит A, и B должен или быть одного размера или иметь размеры, которые совместимы (например, A является M-by-N матрица, и B является скаляром или 1-by-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
Поддержка комплексного числа: Да

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

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

Для просмотра документации необходимо авторизоваться на сайте