Python 如何在numpy数组中使用logspace()?
我试图生成给定范围之间的值,即从10^-1到10的值^−我得到了一个错误的输出 我已经实现了理解这个日志空间的逻辑,但无法理解它Python 如何在numpy数组中使用logspace()?,python,python-3.x,numpy,Python,Python 3.x,Numpy,我试图生成给定范围之间的值,即从10^-1到10的值^−我得到了一个错误的输出 我已经实现了理解这个日志空间的逻辑,但无法理解它 import numpy as np delta = np.logspace(1, 14, dtype=np.float64) print(delta) 预期产出为: >>> print(delta) [ 1.00000000e-01 1.00000000e-02 1.00000000e-03 1.00000000e-04 1
import numpy as np
delta = np.logspace(1, 14, dtype=np.float64)
print(delta)
预期产出为:
>>> print(delta)
[ 1.00000000e-01 1.00000000e-02 1.00000000e-03 1.00000000e-04
1.00000000e-05 1.00000000e-06 1.00000000e-07 1.00000000e-08
1.00000000e-09 1.00000000e-10 1.00000000e-11 1.00000000e-12
1.00000000e-13 1.00000000e-14]
从:
在线性空间中,序列从基**开始(基到开始的幂)开始,以基**停止结束
因此np.logspace(-1,-14,14)
给出:
array([1.e-01, 1.e-02, 1.e-03, 1.e-04, 1.e-05, 1.e-06, 1.e-07, 1.e-08,
1.e-09, 1.e-10, 1.e-11, 1.e-12, 1.e-13, 1.e-14])
或者更“精确”(如评论中所问):
给出:
[1.00000000e-01 1.00000000e-02 1.00000000e-03 1.00000000e-04
1.00000000e-05 1.00000000e-06 1.00000000e-07 1.00000000e-08
1.00000000e-09 1.00000000e-10 1.00000000e-11 1.00000000e-12
1.00000000e-13 1.00000000e-14]
注意:这会更改每个带有浮点数的numpy数组,这些浮点数将在以后打印 阅读文档
np.logspace(1,14,14)
如何显示十进制精度?与所讨论的预期输出类似?您可以使用np.set\u printoptions()
,例如np.set\u printoptions(formatter=dict(float='{:10.8e}'。format))
。然后结果是1.00000000e-01 1.00000000e-02 1.00000000e-03…
。我正在使用设置精度(),谢谢您的帮助。
[1.00000000e-01 1.00000000e-02 1.00000000e-03 1.00000000e-04
1.00000000e-05 1.00000000e-06 1.00000000e-07 1.00000000e-08
1.00000000e-09 1.00000000e-10 1.00000000e-11 1.00000000e-12
1.00000000e-13 1.00000000e-14]