logspace()
方法在对数刻度上创建具有等距数字的数组。
示例
import numpy as np
# create an array with 3 elements between 10^5 and 10^10
array1 = np.logspace(5, 10, 3)
print(array1)
# Output: [1.00000000e+05 3.16227766e+07 1.00000000e+10]
logspace() 语法
logspace()
的语法是
numpy.logspace(start, stop, num = 50, endpoint = True, base = 10, dtype = None, axis = 0)
logspace() 参数
logspace()
方法接受以下参数
start
- 序列的起始值stop
- 序列的结束值num
(可选)- 要生成的样本数endpoint
(可选)- 指定是否包含结束值dtype
(可选)- 输出数组的类型base
(可选)- 对数刻度的基数axis
(可选)- 结果中用于存储样本的轴
注意事项
- 在线性空间中,
logspace()
生成的序列从 base ** start(base 的 start 次幂)开始,到 base ** stop 结束。 - 如果省略
dtype
,logspace()
将从其他参数的类型中确定数组元素的类型。
logspace() 返回值
logspace()
方法返回一个在对数刻度上具有等距值的数组。
示例 1:使用 logspace 创建一维数组
import numpy as np
# create an array of 5 elements between 10^2 and 10^3
array1 = np.logspace(2.0, 3.0, num = 5)
print("Array1:", array1)
# create an array of 5 elements between 10^2 and 10^3 without including the endpoint
array2 = np.logspace(2.0, 3.0, num = 5, endpoint = False)
print("Array2:", array2)
# create an array of 5 elements between 2^2 and 2^3
array3 = np.logspace(2.0, 3.0, num = 5, base = 2)
print("Array3:", array3)
输出
Array1: [ 100. 177.827941 316.22776602 562.34132519 1000. ] Array2: [100. 158.48931925 251.18864315 398.10717055 630.95734448] Array3: [4. 4.75682846 5.65685425 6.72717132 8. ]
示例 2:使用 logspace 创建 N 维数组
与一维数组类似,我们也可以使用 logspace 创建 N 维数组。为此,我们可以简单地将序列传递给 start 和 stop 值,而不是整数。
让我们看一个例子。
import numpy as np
# create an array of 5 elements between [10^1, 10^2] and [10^5, 10^6]
array1 = np.logspace([1, 2], [5, 6], num=5)
print("Array1:")
print(array1)
# create an array of 5 elements between [1, 2] and [3, 4] along axis 1
array2 = np.logspace([1, 2], [5, 6], num=5, axis=1)
print("Array2:")
print(array2)
输出
Array1: [[1.e+01 1.e+02] [1.e+02 1.e+03] [1.e+03 1.e+04] [1.e+04 1.e+05] [1.e+05 1.e+06]] Array2: [[1.e+01 1.e+02 1.e+03 1.e+04 1.e+05] [1.e+02 1.e+03 1.e+04 1.e+05 1.e+06]]