标签: epsilon

机器精度估算

有人说双精度浮点数的机器epsilon是2 ^ -53,而其他(更常见的)是2 ^ -52.我已经使用除了1之外的整数以及从上方和下方(在matlab中)进行估算来估计机器精度,并且已经获得两个值作为结果.为什么在实践中可以观察到这两个值?我认为应该总是在2 ^ -52左右产生一个epsilon.

floating-point epsilon floating-point-precision

4
推荐指数
1
解决办法
1685
查看次数

C++ next float with numeric_limits/epsilon?

考虑一个"正常"的实数,TREAL x在C++(不低于正常,而不是为NaN /无限)(TREAL= float,double,long double)
是很好的解决方案下面找到一个和下一个x从一个浮点点?

TREAL xprev = (((TREAL)(1.)) - std::numeric_limits<TREAL>::epsilon()) * x;
TREAL xnext = (((TREAL)(1.)) + std::numeric_limits<TREAL>::epsilon()) * x;
Run Code Online (Sandbox Code Playgroud)

非常感谢你.

c++ floating-point limits epsilon

4
推荐指数
2
解决办法
1729
查看次数

为什么我的double值可以包含低于机器epsilon的值?

我正在使用双精度求解方程,但得到的-7.07649e-17是而不是0

我同意它足够接近,可以说它相等,但是我已经读到C ++ double类型的机器epsilon2^-52大于我得到的值。

那么,为什么我的价值不如机器epsilon?为什么值不四舍五入?

没什么大不了的,但是当我进行逻辑测试时,我的值似乎不为零...

c++ precision epsilon

4
推荐指数
1
解决办法
439
查看次数

在比较浮点数时使用 epsilon 是否会破坏严格弱排序?

以下课程是否打破了严格的弱排序(与常规相比std::less(因此忽略边缘情况值,例如 Nan))

struct LessWithEpsilon
{
    static constexpr double epsilon = some_value;
    bool operator() (double lhs, double rhs) const
    {
        return lhs + epsilon < rhs;
    }
};

LessWithEpsilon lessEps{};
Run Code Online (Sandbox Code Playgroud)

c++ floating-point epsilon strict-weak-ordering

4
推荐指数
1
解决办法
88
查看次数

我怎样才能在正则表达式中表示epsilon?

教科书教我们使用epsilon (?)符号编写正则表达式,但是如何将该符号直接转换为代码而不必完全重写我的正则表达式?

例如,我将如何编写这个正则表达式,它将捕获所有开始或结束a(或两者)的小写字符串.

不是100%肯定这是正确的,但......

((a | epsilon)[az] *a)| (a [az] *(a | epsilon))

所以应该匹配的一些字符串包括:

a //single "a" starts or ends with "a"

aa //starts and ends with "a"

ab //starts with "a"

ba //ends with "a"

aba //starts and ends with "a"

aaaaaaaa //starts and ends with "a"

abbbbbbb //starts with "a"

bbbbbbba //ends with "a"

abbbbbba //starts and ends with "a"

asdfhgdu //starts with "a"

onoineca //ends with "a"

ahnrtyna //starts and …
Run Code Online (Sandbox Code Playgroud)

regex epsilon

3
推荐指数
1
解决办法
8529
查看次数

为什么PHP不为浮点比较提供Epsilon常数?

在看到许多关于比较浮点数相等性的PHP问题之后,答案是简单地为Epsilon选择一个任意值,然后执行if( abs($a-$b) < 0.000001 )

麻烦的是,小量一般比人们通常会选择[2.22e-16我的机器上]的值小,实际上是很简单的计算:

$macheps = (float) 1.0;  
do {
    $macheps /= (float) 2.0;
} while( (float) (1.0 + ($macheps/2.0)) != 1.0 );
printf("Epsilon: %0.25f\n", $macheps);
Run Code Online (Sandbox Code Playgroud)

C ++有std::numeric_limits<double>::epsilon(),Python有sys.float_info.epsilon,那么为什么PHP悬而未决呢?

php floating-point epsilon

3
推荐指数
2
解决办法
1698
查看次数

Number.EPSILON 的浏览器支持?

我想Number.EPSILON在我的应用程序中使用该值,并且想知道不同浏览器如何支持它。MDN 表示Firefox 和 Chrome 支持它,但 IE 和 Safari 不支持。

我自己在IE11和Edge的控制台测试过。Edge 给了我2.220446049250313e-16预期的结果,IE11 给了undefined. 我无法自己测试 Safari。

  1. 是否有支持表显示不同浏览器版本的支持?

  2. 我可以安全地var eps = Number.EPSILON || 2.220446049250313e-16;用作后备吗?

javascript cross-browser epsilon browser-support

3
推荐指数
1
解决办法
1484
查看次数

计算最接近的数字numpy

我正在尝试将最接近的数字计算为0,但到目前为止无法得到我想要的数字.

我有一个非常简单的代码;

y = 0.0
x = 0.1
while (y + x > y):
    x = x/2.0
x*2
Run Code Online (Sandbox Code Playgroud)

但我一直得到0.0作为输出.我怎样才能解决这个问题

python numpy epsilon

3
推荐指数
1
解决办法
70
查看次数

Keras、Tensorflow - 计算指标时 K.epsilon 的含义是什么

我正在计算模型的召回率和准确度,我想知道为什么人们将 Keras.epsilon() 添加到他们的变量中(在 stackoverflow 上找到的示例: 多类 CNN 的宏指标(召回/F1 ...)如何计算 F1 宏在凯拉斯?

非常感谢您的回答 !

亲切地

python metrics epsilon keras tensorflow

3
推荐指数
1
解决办法
1759
查看次数

为什么 numeric_limits Machine Epsilon 不满足 1+e&gt;1 条件?

如果我没记错的话,Machine Epsilon 的定义是满足条件的最低数字:

1+e>1

我试图使用 来测试这个,std::numeric_limits<float>::epsilon()但如果您尝试使用以下方法获取先前的浮点数,则该值不满足此要求std::nextafter

#include <cmath>
#include <iostream>
#include <limits>

int main() {
    float e = std::numeric_limits<float>::epsilon();
    float previous = std::nextafter(e, -std::numeric_limits<float>::infinity());

    std::cout << std::boolalpha << ((1.0f + previous) > 1.0f) << std::endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

This stills outputs true https://coliru.stacked-crooked.com/a/841e19dafcf0bf6f.

After trying to get the number using std::nextafter I noticed that the proper Machine Epsilon should be:

std::nextafter(std::numeric_limits<float>::epsilon() / 2.0f, std::numeric_limits<float>::infinity())
Run Code Online (Sandbox Code Playgroud)

I tested it using this code:

#include <cmath>
#include <iostream>
#include <limits> …
Run Code Online (Sandbox Code Playgroud)

c++ floating-point precision floating-accuracy epsilon

3
推荐指数
1
解决办法
65
查看次数