Hoe kan ik het volgende doen met numpy:
ln(x)
Is het gelijk aan:
np.log(x)
Mijn excuses voor zo’n schijnbaar triviale vraag, maar als ik het verschil tussen log
en ln
begrijp, is dat ln
logspace e is?
Antwoord 1, autoriteit 100%
np.log
is ln
, terwijl np.log10
je standaard base 10-log is.
Relevante documentatie:
http://docs.scipy.org/doc/numpy/reference/generated /numpy.log.html
http://docs.scipy.org/doc/numpy/reference/generated /numpy.log10.html
Antwoord 2, autoriteit 10%
Correct, np.log(x)
is het natuurlijke logboek (basis e
log) van x
.
Onthoud voor andere bases deze wet van logs: log-b(x) = log-k(x) / log-k(b)
waarbij log-b
is de log in een willekeurige base b
, en log-k
is de log in base k
, bijv.
hier k = e
l = np.log(x) / np.log(100)
en l
is de log-base-100 van x
Antwoord 3, autoriteit 6%
Meestal doe ik dit zo:
from numpy import log as ln
Misschien kan dit je meer op je gemak stellen.
Antwoord 4
Numpy lijkt een aanwijzing te nemen van MATLAB/Octave en gebruikt log
als “log base e” of ln
. Net als MATLAB/Octave biedt Numpy geen logaritmische functie voor een willekeurige basis.
Als u log
verwarrend vindt, kunt u uw eigen object ln
maken dat verwijst naar de numpy.log-functie:
>>> import numpy as np
>>> from math import e
>>> ln = np.log # assign the numpy log function to a new function called ln
>>> ln(e)
1.0
Antwoord 5
from numpy.lib.scimath import logn
from math import e
#using: x - var
logn(e, x)
Antwoord 6
Je zou eenvoudig het omgekeerde kunnen doen door de basis van log naar e te maken.
import math
e = 2.718281
math.log(e, 10) = 2.302585093
ln(10) = 2.30258093