python - 在对数刻度上生成均匀间隔的值(如 `np.linspace()` ,但在对数刻度上

我想创建两个样本,第一个 y 样本的值在 10^3 到 10^10 的范围内,另一个 x 样本的值在 10^-5 到 10^10 的范围内用于对数图。我尝试了以下操作:

y = np.linspace(1e3,1e10, num = 1000)
x = np.linspace(1e-5,1e10, num = 1000) 

但它返回了一个非均匀分布的样本,只有 1 个 10^-5 量级的值和更多的 10^9 量级的 x,以及 10^-5 和 10^7 之间的零值.这就是我得到的 x:

 [1.00000000e-05 1.00100100e+07 2.00200200e+07 3.00300300e+07
 4.00400400e+07 5.00500501e+07 6.00600601e+07 7.00700701e+07
 8.00800801e+07 9.00900901e+07 1.00100100e+08 1.10110110e+08
 1.20120120e+08 1.30130130e+08 1.40140140e+08 1.50150150e+08
 ...

我想要一个值均匀分隔的样本:每个 10^ 顺序具有相同数量的值,因为我需要它来绘制对数图。为什么 linspace 不工作,我该如何解决?

最佳答案

linspace 返回线性间隔值,这意味着每个数字与下一个数字之间的距离相同。 logspace 另一方面创建对数间隔的值,这就是您正在寻找的。 https://numpy.org/devdocs/reference/generated/numpy.logspace.html

编辑: 请注意,logspace 将指数作为起始值和终止值。这意味着您必须编写 np.logspace(3, 10, num = 1000)np.logspace(-5, 10, num = 1000)

关于python - 在对数刻度上生成均匀间隔的值(如 `np.linspace()` ,但在对数刻度上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61909819/

相关文章:

r - 将单列拆分为四列并计算 R 中的重复模式

javascript - onChange 在每次击键时触发

swiftui - 如何获得 Swift UI 的水平选择器?

amazon-web-services - CognitoIdentityCredentials 不

python - 我怎样才能看到 Pandas 的几个最大值?

javascript - 谷歌邮箱 : Button/Link which trigger a sc

asp.net-core - 脚手架MVC在继承IdentityDbContext时不加载Appli

scala - 为什么在使用 List 时得到的结果与使用 Tuple 时得到的结果不同?

python - 类型错误 : get_bind() got an unexpected keywo

java - OPTIONS、TRACE 和 HEAD 请求方法的用例