np.arange函数返回奇怪的值。我不知道为什么

时间:2019-01-28 09:16:13

标签: python

import numpy as np
a=np.arange(1e-10,2e-10,1e-11)
print(len(a))
b=np.arange(0.1,0.2,0.01)
print(len(b))

a的值为11,b的值为10。为什么?我知道arange func是包括开始但不包括停止的时间间隔。

1 个答案:

答案 0 :(得分:-1)

因为您要将指数非整数值传递给arange方法的 step 参数。根据官方文档,这可能会导致输出不一致。

尝试改用linspace方法。这是numpy.arrange官方文档中的要点;

  

使用非整数步骤(例如0.1)时,结果通常不会   始终如一。对于这些情况,最好使用linspace。