我想创建一个数字等间距(0.1)在0.1到100之间的数组
step=0.1
range_a=numpy.arange(step,100+step,step)
为什么我的第一个元素是
range_a[0]
Out[27]: 0.10000000000000001
而不是0.1?
以及如何获得等于的数组 [0.1,0.2,0.3,...,100]
答案 0 :(得分:-3)
正如评论中所提到的,这是由于如何处理浮点数。通常,浮点数用于不精确但快速计算,而精度很重要时使用双精度浮点数。您的代码可以按如下方式重写,以准确获得您想要的内容
step = 0.1
range_a = numpy.arange(step, 100+step, step).astype(numpy.double)