¿Cómo se hacen registros naturales (por ejemplo, "ln ()") con numpy en Python?


98

Usando numpy, ¿cómo puedo hacer lo siguiente?

ln(x)

¿Es equivalente a:

np.log(x)

Me disculpo por ejemplo una pregunta aparentemente trivial, pero mi comprensión de la diferencia entre log, y lnes que lnes logspace e?

Respuestas:



18

Correcto, np.log(x)es el registro natural ( eregistro base ) de x.

Para otras bases, recuerde esta ley de los registros: log-b(x) = log-k(x) / log-k(b)dónde log-bestá el registro en una base arbitraria by log-kes el registro en la base k, por ejemplo

aquí k = e

l = np.log(x) / np.log(100)

y les el log-base-100 de x


¿Qué pasa con la pérdida de precisión?
qwr

8

Normalmente me gusta esto:

from numpy import log as ln

Quizás esto pueda hacerte sentir más cómodo.


0

Podría simplemente hacer lo contrario haciendo que la base de log sea e.

import math

e = 2.718281

math.log(e, 10) = 2.302585093
ln(10) = 2.30258093

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.