numpy linspace returns evenly spaced numbers on specified interval. numpy logspace return numbers spaced evenly on log scale.
i don't understand why numpy logspace returns values "out of range" bounds set. take numbers between 0.02 , 2.0:
import numpy np print np.linspace(0.02, 2.0, num=20) print np.logspace(0.02, 2.0, num=20) the output first is:
[ 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. ] that looks correct. however, output np.logspace() wrong:
[ 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. ] why output 1.047 100.0?
2017 update: numpy 1.12 includes function original question asked, i.e. returns range between 2 values evenly sampled in log space.
the function 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. ])
Comments
Post a Comment