【发布时间】:2020-09-06 15:01:25
【问题描述】:
我想创建两个样本,第一个 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 不起作用,我该如何解决?
【问题讨论】:
-
投反对票的人:我不能什么都知道,感谢您让新人参与编码。这对我来说是一场真正的斗争,我用谷歌搜索了它,但找不到任何东西,我知道有一个额外的代码用于日志图的示例。我找不到任何关于非均匀分布样本的事情是因为像你这样的人投票反对这样的话题,这对有这个问题的人来说很有趣和有用。
-
我没有投反对票,但我只是简单地用谷歌搜索了非常基本的“对数刻度值 python”,在第一页上,它向我展示了 numpy logspace 结果。我不知道这对你来说是一场“真正的斗争”,为什么你会写“我用谷歌搜索但什么都找不到”
-
好吧,因为我用谷歌搜索了“用 linspace 评估的非均匀分布”,但没有找到任何东西。当然,如果我有像你这样的谷歌,我会找到它,但为此我应该已经知道有一个代码,我没有。