numpy.logspace
numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)[source]
在对数尺度上返回间隔均匀的数字。
在线性空间中,序列从base ** start
(以start的幂为基础)开始,并以base ** stop
结束(请参见下面的endpoint)。
Changed in version 1.16.0: Non-scalar start and stop are now supported.
参数 : | start :array_like
stop :array_like
在这种情况下, 返回除最后一个(长度为num的序列)外的所有值。 num : 要生成的样本数。 默认值为 endpoint : 如果为 否则,不包括在内。 默认值为 base : 日志空间的基础。 (或 默认值为 dtype : 输出数组的类型。 如果未给出 axis : 结果中的轴用于存储样本。 仅当 默认情况下为 使用 |
返回值 : | samples : num个样本,以对数刻度等距分布。 |
Notes
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()