numpy.linspace#

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0, *, device=None)[源代码]#

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

返回 num 个均匀间隔的样本,计算在区间 [start, stop] 上.

区间的端点可以选择性地排除.

在 1.16.0 版本发生变更: 现在支持非标量的 startstop.

在 1.20.0 版本发生变更: 当指定整数 dtype 时,值会向 -inf 舍入而不是向 0 舍入.旧的行为仍然可以通过 np.linspace(start, stop, num).astype(int) 获得.

参数:
startarray_like

序列的起始值.

stoparray_like

序列的结束值,除非 endpoint 设置为 False.在这种情况下,序列由 num + 1 个均匀间隔的样本中除最后一个外的所有样本组成,因此 stop 被排除在外.请注意,当 endpoint 为 False 时,步长会改变.

numint, 可选

要生成的样本数量.默认值是50.必须是非负数.

endpointbool, 可选

如果为真,`stop` 是最后一个样本.否则,它不包括在内.默认为真.

retstepbool, 可选

如果为真,返回 (samples, step),其中 step 是样本之间的间距.

dtypedtype,可选

输出数组的类型.如果未指定 dtype,则数据类型从 startstop 推断.推断的 dtype 永远不会是整数;即使参数会产生整数数组,也会选择 float.

在 1.9.0 版本加入.

axisint, 可选

结果中存储样本的轴.仅在 start 或 stop 是类数组时相关.默认情况下(0),样本将沿一个新的轴插入到开头.使用 -1 以在末尾获取一个轴.

在 1.16.0 版本加入.

devicestr, 可选

要放置创建数组的设备.默认值:None.仅用于数组API互操作性,因此如果传递,必须为 "cpu".

在 2.0.0 版本加入.

返回:
samplesndarray

在闭区间 [start, stop] 或半开区间 [start, stop) 中有 num 个等间距的样本(取决于 endpoint 是 True 还是 False).

step浮点数, 可选

仅在 retstep 为 True 时返回

样本之间的间距大小.

参见

arange

类似于 linspace,但使用步长(而不是样本数量).

geomspace

类似于 linspace,但数字在对数尺度上均匀分布(几何级数).

logspace

类似于 geomspace,但端点以对数形式指定.

如何分区

示例

>>> import numpy as np
>>> 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()
../../_images/numpy-linspace-1.png