目录
eps函数的功能是浮点相对精度。
语法
d = eps
d = eps(x)
d = eps(datatype)
d = eps("like",p)
说明
d = eps 返回从 1.0 到下一个较大双精度数的距离,即 2-52。
d = eps(x)(其中,x 的数据类型为 single 或 double)返回从 abs(x) 到与 x 精度相同的下一个较大浮点数的正距离。如果 x 的类型为 duration,则 eps(x) 返回下一个较大 duration 值。命令 eps(1.0) 等同于 eps。
d = eps(datatype) 根据 datatype 指定的数据类型返回 eps,该数据类型可以是 "double" 或 "single"。语法 eps("double")(默认值)等效于 eps,并且 eps("single") 等效于 eps(single(1.0))。
d = eps("like",p) 返回从 1.0 到与浮点变量 p 具有相同精度的下一个更大的浮点数的正距离,具有与 p 相同的数据类型、稀疏性和复/实性(实数或复数)。
示例
双精度值的精度
返回从1.0到下一个较大双精度数的距离。
d = eps
d = 2.2204e-16
eps 等效于 eps(1.0) 和 eps("double")。计算 log2(eps)。
d = log2(eps)
d = -52
底数为 2 时,eps 等于 2^-52。返回从 10.0 到下一个较大双精度数的距离。
d = eps(10.0)
d = 1.7764e-15
单精度值的精度
返回从1.0到下一个更大的单精度数的距离。
d = eps("single")
d = single
1.1921e-07
eps("single") 等效于 eps(single(1.0))。计算 log2(eps("single"))。
d = log2(eps("single"))
d = single
-23
底数为 2 时,单精度值 eps 等于 2^-23。
返回从 10.0 的单精度表示形式到下一个更大的单精度数的距离。
d = eps(single(10.0))
d = single
9.5367e-07
根据现有数组指定数据类型和复/实性
返回从 1.0 到与现有数组具有相同数据类型和复/实性的下一个更大的浮点数的距离。
首先,创建一个 single 数据类型的复数向量。
p = single([0.12+2i -0.5i 3]);
以标量形式返回从 1.0 到下一个更大的浮点数的距离,该标量是类似于 p 的复数。
d = eps("like",p)
d = single
1.1921e-07 +0.0000e+00i
根据现有数组指定稀疏性
创建一个 10×10 稀疏矩阵。
p = sparse(10,10,pi);
返回从 1.0 到与 p 具有相同数据类型和稀疏性的下一个更大的浮点数的距离。输出是一个 1×1 稀疏矩阵。
d = eps("like",p)
d =
(1,1) 2.2204e-16