1

对于接近 0 的 x 值,有没有办法在 python 中正确计算 log(1+x)/x 的值?当我通常使用 np.log1p(x)/x 执行此操作时,我得到 1。当我使用 np.log(x) 时,我似乎得到了正确的值。log1p 不应该更稳定吗?

4

2 回答 2

1
np.log1p(1+x)

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

于 2016-09-13T19:01:38.993 回答
0

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

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

这个库似乎比 numpy 稳定得多。

于 2016-10-05T23:15:18.673 回答