gpt4 book ai didi

python - numpy linspace 和 numpy logspace 之间的输出差异

转载 作者:太空狗 更新时间:2023-10-29 18:13:45 25 4
gpt4 key购买 nike

Numpy linspace 在指定的时间间隔内返回均匀分布的数字。 Numpy logspace 返回在对数刻度上均匀分布的数字。

我不明白为什么 numpy logspace 经常从我设置的边界返回“超出范围”的值。取 0.022.0 之间的数字:

import numpy as np
print np.linspace(0.02, 2.0, num=20)
print np.logspace(0.02, 2.0, num=20)

第一个的输出是:

[ 0.02        0.12421053  0.22842105  0.33263158  0.43684211  0.54105263
0.64526316 0.74947368 0.85368421 0.95789474 1.06210526 1.16631579
1.27052632 1.37473684 1.47894737 1.58315789 1.68736842 1.79157895
1.89578947 2. ]

看起来是正确的。但是,np.logspace() 的输出是错误的:

[   1.04712855    1.33109952    1.69208062    2.15095626    2.73427446
3.47578281 4.41838095 5.61660244 7.13976982 9.07600522
11.53732863 14.66613875 18.64345144 23.69937223 30.12640904
38.29639507 48.68200101 61.88408121 78.6664358 100. ]

为什么输出1.047100.0

最佳答案

2017 年更新:numpy 1.12 包含一个函数,它完全按照原始问题的要求执行操作,即返回在对数空间中均匀采样的两个值之间的范围。

函数是numpy.geomspace

>>> np.geomspace(0.02, 2.0, 20)
array([ 0.02 , 0.0254855 , 0.03247553, 0.04138276, 0.05273302,
0.06719637, 0.08562665, 0.1091119 , 0.13903856, 0.17717336,
0.22576758, 0.28768998, 0.36659614, 0.46714429, 0.59527029,
0.75853804, 0.96658605, 1.23169642, 1.56951994, 2. ])

关于python - numpy linspace 和 numpy logspace 之间的输出差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31480033/

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