如何修复 np.logspace() 起始和结束值错误
问题:
你想使用 np.logspace() 创建对数间隔的值数组,但起始和结束值不是你期望的。
例如,
np_logspace_example.py
np.logspace(1e-6, 1e-3, num=10)产生从 1.0 到 ~1.02 的值,而你期望从 1e-6 到 1e-3 的值。
np_logspace_output.py
array([1.0000023 , 1.00025792, 1.00051361, 1.00076936, 1.00102518,
1.00128106, 1.001537 , 1.00179302, 1.00204909, 1.00230524])解决方案
np.logspace() 产生从 base ** start 到 base ** stop 的值,其中 base 是对数的底(默认为 10)。
你想使用的是 np.geomspace(),它允许你直接指定起始和结束值:
np_geomspace_example.py
np.geomspace(1e-6, 1e-3, num=10)这产生期望的值:
np_geomspace_output.py
array([1.00000000e-06, 2.15443469e-06, 4.64158883e-06, 1.00000000e-05,
2.15443469e-05, 4.64158883e-05, 1.00000000e-04, 2.15443469e-04,
4.64158883e-04, 1.00000000e-03])If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow