2026a

# ==


相等

# 语法

x == y
==(x, y)

# 说明

当 x 和 y 相等时,x == y 返回逻辑值 1 (true);否则,返回逻辑值 0 (false)。== 是基于实例的抽象值比较,比如所有的数值类型都是按数值比较,忽略类型。字符串作为字符序列进行比较,忽略编码。对于集合, == 通常在所有内容上递归调用,但也可以考虑其他属性(如数组的形状)。 示例


==(x, y) 是 x == y 的替代方法。

# 示例

判断相等性

判断两个数值标量是否相等。

2 == 5
false

判断两个矩阵是否相等。

A = [1 2 3; 4 5 6];
B = [1 2 3; 4 5 6];
A == B
true

判断字符串是否相等。

"abc" == "αβγ"
false
"abc" == "abc"
true
比较浮点数

以十进制文本表示的多个数字不能精确地表示为二进制浮点数。这会导致 == 的运算结果有少许偏差。

对用十进制表示的数字执行几次减法运算,将结果存储到 C 中。

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

使用精确的十进制算术运算,C 应刚好等于 0。然而由于二进制浮点数算法的缘故,在这里它是一个很小的值。

比较 C 与 0 是否相等。

C == 0
false

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

tol = eps(0.5);
abs(C-0) < tol
true

C 和 0 这两个数比 0.5 附近的两个连续浮点数更相互接近。许多情况下,C 的行为可能像 0。

# 输入参数

x, y - 操作数
标量 | 向量 | 矩阵 | 多维数组 | 字符串

操作数,指定为标量、向量、矩阵、多维数组或字符串。您可以比较任何类型的数值输入。

如果 x 和 y 输入的是字符串,x 和 y 的对应元素以字典顺序进行比较。

数据类型: Int8 | Int16 | Int32 | Int64 | Int128 | UInt8 | UInt16 | UInt32 | UInt64 | UInt128 | Float16 | Float32 | Float64 | Bool | Char | String | Tuple | struct | DateTime

复数支持: 是

# 另请参阅

=== | != | !== | isequal | hash