如何消除整数幂为10的numpy.logspace数值错误(即10 ^ n,其中n为int)

时间:2017-06-18 22:16:17

标签: python numpy

我正在使用numpy.logspace(-4,1,6)来创建[0.0001,0.001,0.01,0.1,1,10]。

我注意到使用numpy.logspace生成的数字有数字错误。

print('{:。24f}'。format(np.logspace(-4,1,6)[3]))

打印“0.100000000000000005551115”与我预期的“0.1”。

无论如何要消除整数幂为10的numpy.logspace数值错误(即10 ^ n,其中n是整数)?

感谢。

1 个答案:

答案 0 :(得分:0)

简单的答案是:不。

更长的答案是,没有值为0.1的浮点数,至少不存在"确切的" (好吧,它确切地说,即在机器精度范围内,对于计算机,但不是在分析/数学意义上)

查看:https://en.wikipedia.org/wiki/Floating-point_arithmetic了解更多信息。