NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍一下NumPy中logspace方法的使用。

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

base ** start是序列的起始值。

stop :array_like

base ** stop是序列的最终值,除非endpoint 为False。

 在这种情况下,num + 1值在对数空间的间隔内间隔开,

返回除最后一个(长度为num的序列)外的所有值。

numinteger, 可选

要生成的样本数。 默认值为50

endpointboolean, 可选

如果为true,则停止是最后一个样本。 

否则,不包括在内。 默认值为True

basefloat, 可选

日志空间的基础。ln(samples)/ ln(base)

(或log_base(samples))中元素之间的步长是一致的。 

默认值为10.0

dtypedtype

输出数组的类型。 如果未给出dtype,则从其他输入参数推断数据类型。

axisint, 可选

结果中的轴用于存储样本。 仅当startstop类似于数组时才相关。 

默认情况下为(0),样本将沿着在开始处插入的新轴。

 使用-1来获得轴的末端。 1.16.0版中的新功能。

返回值 :

samplesndarray

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()

httpswwwcjavapycom

推荐文档

相关文档

大家感兴趣的内容

随机列表