小编RAs*_*RAs的帖子

使用round()分隔连续值会产生伪影

在Python中,假设我有连续变量xy,其值在0和1之间是有界的(更容易).我的假设一直是,如果我想将这些变量转换为序数值,其中二进制数为0,0.01,0.02,...,0.98,0.99,1,可以简单地将原始值舍入到第二个数字.出于某种原因,当我这样做时,它留下了文物.

让我来说明问题(但是请注意,我的问题不是如何获得正确的情节,而是实际上如何进行正确的分组).首先,这些是重现问题所需的唯一模块:

import numpy as np
import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)

现在,假设我们连续生成如下所示的数据(其他数据生成过程也会产生同样的问题):

# number of points drawn from Gaussian dists.:
n = 100000
x = np.random.normal(0, 2, n)
y = np.random.normal(4, 5, n)

# normalizing x and y to bound them between 0 and 1
# (it's way easier to illustrate the problem this way)
x = (x - min(x))/(max(x) - min(x))
y = (y - min(y))/(max(y) - min(y))
Run Code Online (Sandbox Code Playgroud)

然后,让我们仅仅通过应用一些舍入来转换xy在上述间隔中进行序数.然后,我们将结果存入一个xy …

python artifacts matplotlib rounding discretization

7
推荐指数
1
解决办法
261
查看次数

使用C++,有没有办法检测浮点/双精度非正规数是否被编译器/系统"规范化"?

直截了当地说,我的问题正如标题中所述:在使用C++编写的应用程序中,有没有办法检测浮点/双精度非正规数是否被编译器/系统"标准化"(例如,通过DAZ,FTZ,等等)?

如果需要上下文,我想要完成的是检测programaticaly最小的float/double值.然而,这些结果取决于非正规数是否被"标准化":如果是,则最小值由std的数值限制min()给出,否则由denorm_min()给出.

c++ floating-point double compilation denormalization

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

为什么〜= C++中唯一缺少的非逻辑赋值运算符?

出于好奇,为什么按位运算符~是唯一一个在C++中没有赋值版本的非逻辑运算符,即~=?所有关系运算符和按位运算符都有赋值版本,但~=缺少.这有什么特别的原因吗?

对于C++中的所有运算符,请参阅:http://www.tutorialspoint.com/cplusplus/cpp_operators.htm

c++ operators assignment-operator

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