Есть ли способ правильно рассчитать значение log (1 + x)/x в python для значений x, близких к 0? Когда я делаю это обычно, используя np.log1p (x)/x, я получаю 1. Как-то я получаю правильные значения, когда использую np.log (x). Разве log1p не должен быть более стабильным?Python Calculate log (1 + x)/x для x около 0
1
A
ответ
0
Итак, я нашел один ответ на этот вопрос. Я использовал библиотеку, называемую десятичной.
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)
.
для 'log (1 + x)' вы хотите 'np.log1p (x)' not 'np.log1p (1 + x)'. – hobbs
Вы правы. Спасибо. – Aditya369