请注意,我在询问numpy.linspace的端点。保证函数返回包含端点的数组。但是,终点是否保证与提供给函数的参数的浮点相同?
提问的理由 - 纯粹的好奇心。除非有人能想出有理由依靠这种行为吗? 感谢。
答案 0 :(得分:3)
def linspace(start, stop, num=50, endpoint=True, retstep=False):
...
if endpoint:
if num == 1:
return array([float(start)])
step = (stop-start)/float((num-1))
y = _nx.arange(0, num) * step + start #<-- the first point is `start`
y[-1] = stop # <-- the last point is `stop`
...
return y
所以是的,当endpoints
为True时,返回的端点将完全等于start
和stop
。
请注意,即使endpoints=True
(默认为默认值),如果np.linspace
小于2,num
也可能无法返回端点:
In [8]: np.linspace(0, 1, num=0)
Out[8]: array([], dtype=float64)
In [9]: np.linspace(0, 1, num=1)
Out[9]: array([ 0.])