本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

ne, ~=

确定不相等性

说明

示例

A ~= B 返回一个逻辑数组,当数组 AB 不相等时,其对应设置上的元素设为逻辑值 1 (true);否则设为逻辑值 0 (false)。测试将比较数值数组的实部和虚部。当 AB 含有 NaN 或未定义的分类元素时,ne 返回逻辑值 1 (true)。

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。然而由于二进制浮点数算法的缘故,在这里它是一个很小的值。

比较 C0 是否不相等。

C ~= 0
ans = logical
   1

使用容差 tol(而不是使用 ~=)比较浮点数。

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

C0 这两个数比 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

检查 AB 中的元素不相等的位置。

A~=B
ans = 2x1 logical array

   0
   1

输入参数

全部折叠

操作数,指定为标量、向量、矩阵或多维数组。数值或字符串输入 AB 必须具有相同的大小,或者具有兼容的大小(例如,A 是一个 M×N 矩阵,B 是标量或 1×N 行向量)。有关详细信息,请参阅基本运算的兼容数组大小

您可以比较任何类型的数值输入,并且比较不会因类型转换而损失精度。

如果 AB 为分类、日期时间或持续时间数组,则它们必须具有相同的大小,除非其中一个为标量。

  • 如果一个输入是分类数组,另一个输入可以是分类数组、字符向量元胞数组或单个字符向量。单个字符向量会扩展为与另一个输入大小相同的字符向量元胞数组。如果两个输入均为有序分类数组,则必须具有相同的类别集(包括其顺序)。如果两个输入均非有序分类数组,则可以有不同的类别集。有关详细信息,请参阅比较分类数组元素

  • 如果一个输入是日期时间数组,则另一个输入可以是日期时间数组、字符向量或字符向量元胞数组。

  • 如果一个输入是持续时间数组,则另一个输入可以是持续时间数组或数值数组。该运算符将每个数值视为一个天数,其中每天是有 24 小时的标准日。

  • 如果一个输入是字符串数组,则另一个输入可以是字符串数组、字符向量或字符向量元胞数组。AB 的对应元素以字典顺序进行比较。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | categorical | datetime | duration
复数支持:

兼容性考虑

全部展开

R2016b 中的行为有变化

扩展功能

在 R2006a 之前推出