我正在使用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是整数)?
感谢。
答案 0 :(得分:0)
简单的答案是:不。
更长的答案是,没有值为0.1
的浮点数,至少不存在"确切的" (好吧,它确切地说,即在机器精度范围内,对于计算机,但不是在分析/数学意义上)
查看:https://en.wikipedia.org/wiki/Floating-point_arithmetic了解更多信息。