给出 1.0 和与之最相邻的、可用机器精度数表示的下一个数之间的差值.
$MachineEpsilon
给出 1.0 和与之最相邻的、可用机器精度数表示的下一个数之间的差值.
更多信息
- $MachineEpsilon 通常是 2-n+1,其中 n 是用于机器精度浮点数的内部表示的二进制位数.
- $MachineEpsilon 度量机器精度数的间隔度.
范例
打开所有单元 关闭所有单元基本范例 (1)
$MachineEpsilon$MachineEpsilon 与1相加的结果与1不相同:
x = 1. + $MachineEpsilonx - 1.添加 $MachineEpsilon 的一部分将形式上产生四舍五入:
y = 1. + {0.3, 0.5, 0.7}$MachineEpsilony - 1.范围 (2)
应用 (2)
x = RandomReal[{1, 100}]y = x * (1. + $MachineEpsilon);x - yRealDigits[x, 2]RealDigits[y, 2]horner[p_List, x_] := Module[{u, y, mu},
y = Last[p];
mu = Abs[y] / 2;
Do[y = x * y + c;mu = Abs[x] * mu + Abs[y], {c, Take[p, {-2, 1, -1}]}];
(* u is "unit roundoff"*)
u = $MachineEpsilon / 2;
mu = u * (2 * mu - Abs[y]);
{y, mu}]poly = N[Expand[Product[(x - i), {i, 20}]]]horner[CoefficientList[poly, x], 10.]属性和关系 (3)
$MachineEpsilon 是2的幂:
Log[2., $MachineEpsilon]$MachineEpsilon 是 10-MachinePrecision 的两倍:
$MachineEpsilon == 2 / 10 ^ MachinePrecisionb = MachinePrecision * Log[2., 10.]2 ^ (1 - b) == $MachineEpsilon1 和 1+$MachineEpsilon 只在最低有效位不同:
RealDigits[1., 2]RealDigits[1. + $MachineEpsilon, 2]技术笔记
-
▪
- 机器精度数
历史
1991年引入 (2.0)
文本
Wolfram Research (1991),$MachineEpsilon,Wolfram 语言函数,https://reference.wolfram.com/language/ref/$MachineEpsilon.html.
CMS
Wolfram 语言. 1991. "$MachineEpsilon." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/$MachineEpsilon.html.
APA
Wolfram 语言. (1991). $MachineEpsilon. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/$MachineEpsilon.html 年
BibTeX
@misc{reference.wolfram_2026_$machineepsilon, author="Wolfram Research", title="{$MachineEpsilon}", year="1991", howpublished="\url{https://reference.wolfram.com/language/ref/$MachineEpsilon.html}", note=[Accessed: 14-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_$machineepsilon, organization={Wolfram Research}, title={$MachineEpsilon}, year={1991}, url={https://reference.wolfram.com/language/ref/$MachineEpsilon.html}, note=[Accessed: 14-August-2026]}