numpy.logspace#
- numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)[源代码]#
返回在对数刻度上均匀间隔的数字.
在线性空间中,序列从
base ** start
开始(base 的 start 次方),并以base ** stop
结束(见下面的 endpoint).在 1.16.0 版本发生变更: 现在支持非标量的 start 和 stop.
在 1.25.0 版本发生变更: 非标量 ‘base` 现在已支持
- 参数:
- startarray_like
base ** start
是序列的起始值.- stoparray_like
base ** stop
是序列的最终值,除非 endpoint 为 False.在这种情况下,``num + 1`` 个值在对数空间中分布在区间上,其中除了最后一个(长度为 num 的序列)之外的所有值都被返回.- num整数,可选
要生成的样本数量.默认是 50.
- endpoint布尔值, 可选
如果为真,`stop` 是最后一个样本.否则,不包括在内.默认值为 True.
- basearray_like, 可选
对数空间的基数.在
ln(samples) / ln(base)
(或log_base(samples)
) 中元素之间的步长是均匀的.默认值是 10.0.- dtypedtype
输出数组的类型.如果未指定
dtype
,则数据类型从 start 和 stop 推断.推断的类型永远不会是整数;即使参数会产生整数数组,也会选择 float.- axisint, 可选
结果中存储样本的轴.仅在 start、stop 或 base 是类数组时相关.默认情况下(0),样本将沿一个新的轴插入到开头.使用 -1 以在末尾获取一个轴.
在 1.16.0 版本加入.
- 返回:
- samplesndarray
num 样本,在对数尺度上等间隔分布.
参见
备注
如果 base 是一个标量,logspace 等价于以下代码
>>> y = np.linspace(start, stop, num=num, endpoint=endpoint) ... >>> power(base, y).astype(dtype) ...
示例
>>> import numpy as np >>> np.logspace(2.0, 3.0, num=4) array([ 100. , 215.443469 , 464.15888336, 1000. ]) >>> np.logspace(2.0, 3.0, num=4, endpoint=False) array([100. , 177.827941 , 316.22776602, 562.34132519]) >>> np.logspace(2.0, 3.0, num=4, base=2.0) array([4. , 5.0396842 , 6.34960421, 8. ]) >>> np.logspace(2.0, 3.0, num=4, base=[2.0, 3.0], axis=-1) array([[ 4. , 5.0396842 , 6.34960421, 8. ], [ 9. , 12.98024613, 18.72075441, 27. ]])
图形说明:
>>> import matplotlib.pyplot as plt >>> N = 10 >>> x1 = np.logspace(0.1, 1, N, endpoint=True) >>> x2 = np.logspace(0.1, 1, N, endpoint=False) >>> y = np.zeros(N) >>> 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()