programing

NumPy : 밑이 n 인 로그

projobs 2021. 1. 19. 21:02
반응형

NumPy : 밑이 n 인 로그


로그에 대한 numpy 문서에서 e , 2 , 10 을 밑으로하는 로그를 취하는 함수를 찾았습니다 .

import numpy as np
np.log(np.e**3) #3.0
np.log2(2**3)   #3.0
np.log10(10**3) #3.0

그러나 numpy에서 밑수 n (예 : 42)으로 로그를 어떻게 취 합니까?


사용하여 사용자 정의베이스와 로그를 얻으려면 math.log:

import math
number = 74088  # = 42**3
base = 42
exponent = math.log(number, base)  # = 3

사용하여 사용자 정의베이스와 로그를 얻으려면 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]

예상 한대로 np.log(np.e) == 1.0.


다시 말해, 로그 밑수 변경 규칙은 다음과 같습니다.

log_b (x) = log_c (x) / log_c (b)

참조 URL : https://stackoverflow.com/questions/25169297/numpy-logarithm-with-base-n

반응형