2016-09-13 69 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)