我正在尝试将一些 matlab 代码翻译成 C# 并且遇到了问题。它是一种数值算法,matlab 设置了一个基于eps()
函数的容差。
matlab 文档(http://www.mathworks.co.uk/help/matlab/ref/eps.html)说:
d = eps(X) 是从 abs(X) 到与 X 具有相同精度的下一个更大的浮点数的正距离。X 可以是双精度或单精度
据我所知,没有本地 C# 函数可以做同样的事情。我是一名物理学家,所以浮点运算的复杂性并不是我真正了解的。有人可以指出我正确的方向吗?
tl; dr:如何在 C# 中计算 eps(x) 的等价物?