numpy.linspace#
- numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0, *, device=None)[source]#
在指定区间上返回均匀间隔的数字。
在区间 [start, stop] 上返回 num 个均匀间隔的样本。
区间的端点可以选择性地排除。
在版本 1.16.0 中变更: 现在支持非标量 start 和 stop。
在版本 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, 可选
如果为 True,则 stop 是最后一个样本。否则,它不会被包含在内。默认为 True。
- retstepbool, 可选
如果为 True,则返回 (samples, step),其中 step 是样本之间的间距。
- dtypedtype, 可选
输出数组的类型。如果未给出
dtype
,则数据类型将从 start 和 stop 推断。推断出的 dtype 永远不会是整数;即使参数会产生一个整数数组,也会选择 float。在版本 1.9.0 中新增。
- axisint, 可选
结果中存储样本的轴。仅当 start 或 stop 为数组时才相关。默认情况下 (0),样本将沿着在开头插入的新轴存储。使用 -1 在末尾获取轴。
在版本 1.16.0 中新增。
- devicestr, 可选
放置创建的数组的设备。默认:None。仅用于 Array-API 互操作性,因此如果传递,则必须为
"cpu"
。在版本 2.0.0 中新增。
- 返回值:
- samplesndarray
在闭区间
[start, stop]
或半开区间[start, stop)
(取决于 endpoint 是否为 True 或 False)中,有 num 个等间隔样本。- stepfloat, 可选
仅当 retstep 为 True 时返回。
样本之间间距的大小。
另请参阅
示例
>>> 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()