gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 09:09:53 27 4
gpt4 key购买 nike

我想创建两个样本,第一个 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com