1
我曾預計numpy的arange(start,end)
產生範圍[開始,結束]的值。下面的例子表明,這並不總是正確的(最終值大於end
大):numpy`arange`超過了最終值?
import numpy as np
start=2e9
end=start+321
step=0.066833171999
x=np.arange(start,end,step=step)
print x[-1]>end # Prints "True"
print x[-1]-end # Prints 0.00013661384582519531
的錯誤似乎過於龐大由機器精度造成的(但也許我錯誤地想着它)。這是怎麼回事?
PS:我使用numpy的版本1.10.1
'x'正在使用什麼'dtype'? – Blckknght
@Blckknght x.dtype是dtype('float64') –
@hpaulj'x.shape [0] * step = 321.066558283196' –