Fal*_*ita 3 floating-point matlab
Matlab函数eps(x)返回"从abs(x)到下一个与之相同精度的较大浮点数的正距离x".我用它来计算大于xvia 的最小浮点数x + eps(x).我还想获得小于的最大浮点数x,但我不知道类似的功能eps会促进这一点.如何找到最大浮点数小于x?
几乎eps在所有情况下都可以减去.
但是,正如您可能已经意识到的那样,当mantisa更改时,或者换句话说,当您想要减去2的幂时,这不适用.
因此,负端eps可以很容易地实现,因为知道电流eps小于到下一个2次幂的距离,这将触发阶跃变化.因此,eps我们的数字减去它eps应该做的伎俩.
function out=neps(in)
out=eps(in-eps(in));
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常
eps(2)
4.440892098500626e-16
neps(2)
2.220446049250313e-16
Run Code Online (Sandbox Code Playgroud)