NumPy logspace()

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 结束。
  • 如果省略 dtypelogspace() 将从其他参数的类型中确定数组元素的类型。

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]]

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战