Uit de numpy-documentatie over logaritmenheb ik gevonden functies om de logaritme met grondtal te nemen e, 2en 10:
import numpy as np
np.log(np.e**3) #3.0
np.log2(2**3) #3.0
np.log10(10**3) #3.0
Hoe neem ik echter de logaritme met grondtal n(bijv. 42) in numpy?
Antwoord 1, autoriteit 100%
De logaritme met een aangepaste basis ophalen met behulp van math.log
:
import math
number = 74088 # = 42^3
base = 42
exponent = math.log(number, base) # = 3
De logaritme met een aangepaste basis verkrijgen met numpy.log
:
import numpy as np
array = np.array([74088, 3111696]) # = [42^3, 42^4]
base = 42
exponent = np.log(array) / np.log(base) # = [3, 4]
Die de logaritme basiswijziging-regel gebruikt: