如何在NumPy的logspace函数中使用自然底数?
使用NumPy的logspace生成自然对数间距数值
要想用np.logspace生成和np.exp(np.linspace(start=np.log(0.1), stop=np.log(100), num=20))完全一致的自然对数间距数组,只需要将base参数设为自然底数np.e,同时保持start和stop为原代码中np.log(0.1)和np.log(100)的值即可:
import numpy as np # 等价于你原来的exp+linspace写法 result = np.logspace(start=np.log(0.1), stop=np.log(100), num=20, base=np.e)
为什么你之前的写法不对?
np.logspace(start=0.1, stop=100, num=20, base=10):这里base=10表示以10为底,生成的是10^0.1到10^100的对数间距数组,和你需要的自然对数(以e为底)间距完全无关,所以结果不符合预期。base="ln":logspace的base参数要求是数值类型,不能传入字符串,所以会触发TypeError。自然底数对应的数值是np.e(约等于2.71828),直接传入这个值即可。
内容的提问来源于stack exchange,提问作者a11
相关产品推荐
相关产品推荐

