1
有没有一种方法可以正确计算python中log(1 + x)/ x的值,使x值接近于0?当我通常使用np.log1p(x)/ x进行操作时,我得到1.当我使用np.log(x)时,我似乎得到了正确的值。 log1p是不是应该更稳定?Python计算log(1 + x)/ x for x near 0
有没有一种方法可以正确计算python中log(1 + x)/ x的值,使x值接近于0?当我通常使用np.log1p(x)/ x进行操作时,我得到1.当我使用np.log(x)时,我似乎得到了正确的值。 log1p是不是应该更稳定?Python计算log(1 + x)/ x for x near 0
所以我找到了一个答案。我使用了一个名为decimal的库。
from decimal import Decimal
x = Decimal('1e-13')
xp1 = Decimal(1) + x
print(xp1.ln()/x)
这个库似乎比numpy更稳定。
np.log1p(1+x)
这给你log(2+x)
。将其更改为np.log1p(x)
。
对于'log(1 + x)'你想'np.log1p(x)'而不是'np.log1p(1 + x)'。 – hobbs
你说得对。谢谢。 – Aditya369