【发布时间】:2015-07-17 16:03:58
【问题描述】:
Numpy linspace 在指定的时间间隔内返回均匀分布的数字。 Numpy logspace 返回在对数刻度上均匀分布的数字。
我不明白为什么 numpy logspace 经常从我设置的范围返回值“超出范围”。取0.02 和2.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.047 到100.0?
【问题讨论】: