numpy.logspace¶
-
numpy.
logspace
(start, stop, num=50, endpoint=True, base=10.0, dtype=None)[source]¶ 返回以对数刻度均匀分布的数字。
In linear space, the sequence starts at
base ** start
(base to the power of start) and ends withbase ** stop
(see endpoint below).参数: start:float
base ** start
是序列的起始值。停止:float
基本 ** 停止
是序列的最终值,除非endpoint假。在这种情况下,num + 1
值在对数空间中间隔,最后一个(长度num
的序列)被返回。num:integer,可选
要生成的样本数。默认值为50。
endpoint:boolean,可选
如果为true,则停止是最后一个样本。否则,不包括在内。默认值为True。
base:float,可选
日志空间的基础。
ln(samples) / ln(base)
(或log_base(samples)
)是均匀的。默认值为10.0。dtype:dtype
输出数组的类型。如果未给出
dtype
,则从其他输入参数推断数据类型。返回: samples:ndarray
num个样本,以对数标度等间隔。
也可以看看
笔记
Logspace等价于代码
>>> y = np.linspace(start, stop, num=num, endpoint=endpoint) ... >>> power(base, y).astype(dtype) ...
例子
>>> 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. ])
图形图:
>>> 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()