NumPy 函数

NumPy logspace() 函数返回在对数刻度上均匀间隔的数字。这些值是在 [base ** start、base ** stop] 范围内生成的,具有指定数量的样本。可以选择排除间隔的端点。

语法

numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None) 

参数

start必填。 指定序列的起始值。起始值为base ** start。
stop必填。 指定序列的结束值(结束值为base ** end),除非endpoint为False。在这种情况下,num + 1 个值在对数空间的间隔内间隔开,其中除了最后一个(长度为 num 的序列)之外的所有值都会返回。
num可选。 指定要生成的样本数量。默认值为 50。必须为非负数。
endpoint可选。 指定布尔值。如果为 True,则停止是最后一个样本。否则,不包括在内。默认值为 True。
base可选。 指定日志空间的基数。 ln(samples) / ln(base) (或 log_base(samples))中元素之间的步长是统一的。默认值为 10.0。
dtype可选。 指定输出数组的类型。如果未给出 dtype,则从其他输入参数推断数据类型。

返回值

返回在对数刻度上均匀间隔的数字。

示例:使用 logspace() 函数创建数组

在下面的示例中,logspace() 函数使用不同的参数来创建数组

import numpy as np

#在给定范围内创建5个样本点
Arr1 = np.logspace(1,2,num=5)
print("Arr1 is:", Arr1)

#当端点=False时,(num+1)个样本是
#生成并返回没有最后一个的样本
Arr2 = np.logspace(1,2,num=5,endpoint=False)
print("Arr2 is:", Arr2)

#使用基础=2.0
Arr3 = np.logspace(1,2,num=5,base=2.0)
print("Arr3 is:", Arr3) 

上述代码的输出将是:

Arr1 is: [10.     17.7827941   31.6227766   56.23413252  100.       ]
Arr2 is: [10.     15.84893192  25.11886432  39.81071706  63.09573445]
Arr3 is: [2.      2.37841423   2.82842712   3.36358566   4.         ] 

示例:可视化示例

在下面的示例中,数组是通过将端点参数设置为 True 和 False 创建,并使用 matplolib 库绘制可视化结果。

import numpy as np
import matplotlib.pyplot as plt

#使用endpoint=True创建10个样本点
Arr1 = np.logspace(1,2,num=10,endpoint=True)

#使用端点=True创建10个样本
Arr2 = np.logspace(1,2,num=10,endpoint=False)

y = np.zeros(10)

#绘制 Arr1 和 Arr2
plt.plot(Arr1, y+0.3, 'o')
plt.plot(Arr2, y+0.6, 'o')
plt.ylim([0,1])
plt.legend(labels = ('Arr1', 'Arr2'))
plt.show() 

上述代码的输出将是:

NumPy logspace() 函数