numpy.linspace

原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)[source]

在指定的间隔内返回均匀间隔的数字。

返回在间隔[开始停止]上计算的num个均匀间隔的样本。

可以可选地排除间隔的端点。

参数:

start:标量

序列的起始值。

停止:标量

除非endpoint设置为False,否则序列的结束值。在这种情况下,序列由除了最后的num + 1个均匀间隔的样本组成, 停止被排除。请注意,当端点为False时,步长会发生变化。

num:int,可选

要生成的样本数。默认值为50。必须为非负数。

endpoint:bool,可选

如果为真,则停止是最后一个样本。否则,不包括在内。默认值为True。

retstep:bool,可选

如果为真,返回(样本步骤),其中步长是样本之间的间距。

dtype:dtype,可选

输出数组的类型。如果未给出dtype,则从其他输入参数推断数据类型。

版本1.9.0中的新功能。

返回:

samples:ndarray

There are num equally spaced samples in the closed interval [start, stop] or the half-open interval [start, stop) (depending on whether endpoint is True or False).

步骤:float

仅在retstep为True时返回

样本之间的间距大小。

也可以看看

arange
linspace类似,但使用步长(而不是样本数)。
logspace
样本均匀分布在对数空间中。

例子

>>> np.linspace(2.0, 3.0, num=5)
    array([ 2.  ,  2.25,  2.5 ,  2.75,  3.  ])
>>> np.linspace(2.0, 3.0, num=5, endpoint=False)
    array([ 2. ,  2.2,  2.4,  2.6,  2.8])
>>> np.linspace(2.0, 3.0, num=5, retstep=True)
    (array([ 2.  ,  2.25,  2.5 ,  2.75,  3.  ]), 0.25)

图形图:

>>> import matplotlib.pyplot as plt
>>> N = 8
>>> y = np.zeros(N)
>>> x1 = np.linspace(0, 10, N, endpoint=True)
>>> x2 = np.linspace(0, 10, N, endpoint=False)
>>> plt.plot(x1, y, 'o')
[<matplotlib.lines.Line2D object at 0x...>]
>>> plt.plot(x2, y + 0.5, 'o')
[<matplotlib.lines.Line2D object at 0x...>]
>>> plt.ylim([-0.5, 1])
(-0.5, 1)
>>> plt.show()

源代码pngpdf

../../_images/numpy-linspace-1.png