所以我对 linspace 有点问题。我想生成一个数字数组,如:[0.000001, 0.00001, 0.0001 , 0.001 ,0 .01 , 0.1]
所以我尝试了以下代码:
alphas = np.linspace(0.0000001,10,num=11)
print(alphas)
并得到结果:
[ 1.00000000e-07 1.00000009e+00 2.00000008e+00 3.00000007e+00
4.00000006e+00 5.00000005e+00 6.00000004e+00 7.00000003e+00
8.00000002e+00 9.00000001e+00 1.00000000e+01]
比我认为它一定是显示和格式问题,但在尝试之后
if(alphas[0]>1):
print("yes the first number is greater than 1")
if(alphas[1]>1):
print("yes the second number is greater than 1")
第二个数字确实大于一
所以我的问题是出了什么问题?因为 linspace 应该“在指定的间隔内返回均匀间隔的数字。”
最佳答案
如果您希望该系列像您展示的那样,您可以只使用 10 次方。如果您想在对数空间中均匀间隔,请选择 Hannes Ovrén 的答案。
alpha = 10.**np.arange(-7, 2)
打印
alpha
给出:Out[1]:
array([ 1.00000000e-07, 1.00000000e-06, 1.00000000e-05,
1.00000000e-04, 1.00000000e-03, 1.00000000e-02,
1.00000000e-01, 1.00000000e+00, 1.00000000e+01])
关于小数字的 Python numpy linspace,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46238470/