numpy.linspace#

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

在指定区间内返回等间隔的数值。

返回在区间 [start, stop] 上计算出的 num 个等间隔样本。

区间的端点可以根据需要排除。

版本 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, optional

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

endpointbool, optional

如果为 True,则 stop 是最后一个样本。否则,它不被包含。默认为 True。

retstepbool, optional

如果为 True,则返回 (samples, step),其中 step 是样本之间的间隔。

dtypedtype, optional

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

axisint, optional

结果中用于存储样本的轴。仅当 start 或 stop 是类数组时才相关。默认情况下 (0),样本将沿新插入到开头的轴。使用 -1 可将轴放在末尾。

devicestr,可选

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

版本 2.0.0 中新增。

返回:
samplesndarray

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

stepfloat, optional

仅当 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