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