gpt4 book ai didi

python - numpy `arange` 超过最终值?

转载 作者:行者123 更新时间:2023-12-01 04:07:27 25 4
gpt4 key购买 nike

我原以为 numpy 的 arange(start,end) 会生成 [start,end] 范围内的值。以下示例演示了情况并非总是如此(最终值大于 end):

  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

最佳答案

来自arange文档:

Array of evenly spaced values.

For floating point arguments, the length of the result is ceil((stop - start)/step). Because of floating point overflow, this rule may result in the last element of out being greater than stop.

您的乘以数组长度大于321。linspace对端点更加谨慎。

关于python - numpy `arange` 超过最终值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35376101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com