请注意,我询问的是 numpy.linspace 的端点。这些函数保证返回一个包含端点的数组。但是端点是否保证与提供给函数的参数相同?
问的原因 - 纯粹的好奇心。除非有人能想出一个充分的理由来指望这种行为?谢谢。
请注意,我询问的是 numpy.linspace 的端点。这些函数保证返回一个包含端点的数组。但是端点是否保证与提供给函数的参数相同?
问的原因 - 纯粹的好奇心。除非有人能想出一个充分的理由来指望这种行为?谢谢。
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
(默认情况下),如果小于 2 ,np.linspace
也可能不会返回端点: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.])