所以我对 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/

10-12 13:31