Python에서 지수 및 로그 함수 계산(exp, log, log10, log2)

사업

수학 함수에 대한 Python의 표준 모듈인 수학을 사용하여 지수 및 로그 함수(자연 로그, 일반 로그 및 이진 로그)를 계산할 수 있습니다.

다음은 샘플 코드와 함께 여기에 설명되어 있습니다.

  • 자연 로그의 밑(네이피어 수):math.e
  • 힘::**운영자,pow(),math.pow()
  • 제곱근(루트):math.sqrt()
  • 지수 함수(자연 지수 함수):math.exp()
  • 로그 함수:math.log(),math.log10(),math.log2()

자연 로그의 밑(네이피어 수):math.e

자연 로그의 밑수(네이피어 수)는 math.e로 표시되는 수학 모듈에서 상수로 제공됩니다.

import math

print(math.e)
# 2.718281828459045

전력: ** 연산자, pow(), math.pow():**운영자,pow(),math.pow()

거듭제곱을 계산하려면 ** 연산자, 내장 함수 pow() 또는 math.pow()를 사용하십시오.

x의 y-제곱은 다음과 같이 구합니다.

  • x**y
  • pow(x, y)
  • math.pow(x, y)
print(2**4)
# 16

print(pow(2, 4))
# 16

print(math.pow(2, 4))
# 16.0

math.pow()는 인수를 부동 소수점 유형으로 변환합니다. 반면에 Python의 내장 함수 pow()는 각 유형에 대해 정의된 __pow()__를 사용합니다.

예를 들어, pow()는 복합 유형을 인수로 지정할 수 있지만 math.pow()는 복합 유형을 부동 유형으로 변환할 수 없으므로 오류가 발생합니다.

print(pow(1 + 1j, 2))
# 2j

# print(math.pow(1 + 1j, 2))
# TypeError: can't convert complex to float

Python 내장 함수 pow()는 세 번째 인수인 pow(x, y, z)도 허용합니다. 이 인수는 z의 나머지(나머지)를 x의 y제곱으로 반환합니다. pow(x, y) % z와 동일한 계산이지만 pow(x, y, z)가 더 효율적입니다.

print(pow(2, 4, 5))
# 1

제곱근(루트):math.sqrt()

제곱근(루트)은 ** 또는 math.sqrt()를 사용하여 **0.5로 설정할 수 있습니다.

print(2**0.5)
# 1.4142135623730951

print(math.sqrt(2))
# 1.4142135623730951

print(2**0.5 == math.sqrt(2))
# True

math.pow()와 마찬가지로 math.sqrt()는 처리를 위해 인수를 부동 소수점 형식으로 변환하므로 부동 소수점 형식으로 변환할 수 없는 형식을 지정하면 TypeError가 발생합니다.

print((-3 + 4j)**0.5)
# (1.0000000000000002+2j)

# print(math.sqrt(-3 + 4j))
# TypeError: can't convert complex to float

또한 math.sqrt()는 음수 값을 처리할 수 없으므로 ValueError가 발생합니다.

print((-1)**0.5)
# (6.123233995736766e-17+1j)

# print(math.sqrt(-1))
# ValueError: math domain error

복소수를 다룰 때 ** 연산자를 사용하는 예는 오류를 표시하지만 cmath 모듈은 더 정확한 값을 제공합니다. 음수 값도 처리할 수 있습니다.

import cmath

print(cmath.sqrt(-3 + 4j))
# (1+2j)

print(cmath.sqrt(-1))
# 1j

지수 함수(자연 지수 함수):math.exp()

자연 로그(네이피어 수) e의 밑의 거듭제곱을 계산하려면 math.exp()를 사용하십시오.

math.exp(x)는 e의 x 제곱을 반환합니다.
math.exp(x)는 “math.e ** x”와 동일하지 않으며 math.exp(x)가 더 정확합니다.

print(math.exp(2))
# 7.38905609893065

print(math.exp(2) == math.e**2)
# False

로그 함수:math.log(),math.log10(),math.log2()

로그 함수를 계산하려면 math.log(),math.log10(),math.log2()를 사용하십시오.

math.log(x, y)는 y를 밑으로 하여 x의 로그를 반환합니다.

print(math.log(25, 5))
# 2.0

두 번째 인수를 생략하면 다음과 같이 자연 로그가 표시됩니다.

로그

수학에서 log 또는 ln으로 표시되는 자연 로그(네이피어 숫자 e를 밑으로 하는 로그)는 math.log(x)로 계산할 수 있습니다.

print(math.log(math.e))
# 1.0

로그(밑 10)

일반 로그(밑이 10인 로그)는 math.log(x, 10)보다 정확한 math.log10(x)를 사용하여 계산할 수 있습니다.

print(math.log10(100000))
# 5.0

이진 로그

이진 로그(밑이 2인 로그)는 math.log2(x)를 사용하여 계산할 수 있으며, 이는 math.log(x, 2)보다 정확합니다.

print(math.log2(1024))
# 10.0
Copied title and URL