2016-09-13 56 views
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

+5

对于'log(1 + x)'你想'np.log1p(x)'而不是'np.log1p(1 + x)'。 – hobbs

+0

你说得对。谢谢。 – Aditya369

回答

0

所以我找到了一个答案。我使用了一个名为decimal的库。

from decimal import Decimal 
x = Decimal('1e-13') 
xp1 = Decimal(1) + x 
print(xp1.ln()/x) 

这个库似乎比numpy更稳定。

1
np.log1p(1+x) 

这给你log(2+x)。将其更改为np.log1p(x)