numpy.logspace #

麻木的。logspace (开始,停止, num = 50 ,端点= True ,基数= 10.0 , dtype = None , axis = 0 ) [来源] #

返回在对数刻度上均匀分布的数字。

在线性空间中,序列从 (以start的幂为) 开始,以 ( 参见下面的端点)结束。base ** startbase ** stop

版本 1.16.0 中进行了更改:现在支持非标量启动停止。

版本 1.25.0 中更改:现在支持非标量 'base'

参数
开始类似数组

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

停止类似数组

base ** stop是序列的最终值,除非端点 为 False。在这种情况下,值在日志空间的间隔内间隔开,其中除了最后一个(长度为num的序列)之外的所有值都会被返回。num + 1

num整数,可选

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

端点布尔值,可选

如果为 true,则 stop是最后一个样本。否则,不包括在内。默认为 True。

类似基本数组,可选

日志空间的基础。(或)中的元素之间的步长 是均匀的。默认值为 10.0。ln(samples) / ln(base)log_base(samples)

数据类型数据类型

输出数组的类型。如果未给出,则从startstopdtype推断数据类型。推断的类型永远不会是整数;即使参数会生成整数数组,也会选择float 。

int,可选

结果中用于存储样本的轴。仅当 start、stop 或 base 类似于数组时才相关。默认情况下 (0),样本将沿着在开头插入的新轴。使用 -1 在末端获取轴。

1.16.0 版本中的新增内容。

返回
样本ndarray

num个样本,在对数刻度上等距分布。

也可以看看

arange

与 linspace 类似,指定步长而不是样本数。请注意,当与浮动端点一起使用时,可以包含也可以不包含该端点。

linspace

与对数空间类似,但样本均匀分布在线性空间中,而不是对数空间中。

geomspace

与日志空间类似,但直接指定端点。

如何创建具有规则间隔值的数组

笔记

如果 base 是标量,则 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.        ])
>>> 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()
../../_images/numpy-logspace-1.png