Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python NumPy scimath를 활용한 자연 로그 계산 방법

Python NumPy에서 scimath를 사용하여 자연 로그(natural logarithm)를 계산하려면 np.emath.log() 메서드를 사용하면 됩니다. 이 메서드는 입력된 x 값의 로그를 반환하며, x가 스칼라 값이면 결과도 스칼라로, 배열이면 배열 형태로 반환됩니다. 첫 번째 매개변수인 x는 로그를 구하고자 하는 값 또는 값들의 배열입니다.

np.emath.log()는 일반적인 np.log()와 달리 음수나 무한대 같은 특수한 값이 입력되어도 오류 없이 복소수 형태의 결과를 반환한다는 장점이 있습니다.

단계별 진행 과정

먼저 필요한 라이브러리를 임포트합니다.

import numpy as np

array() 메서드를 사용하여 NumPy 배열을 생성합니다.

arr = np.array([np.inf, -np.inf, np.exp(1), -np.exp(1)])

생성된 배열을 화면에 출력합니다.

print("Our Array...\n",arr)

배열의 차원을 확인합니다.

print("\nDimensions of our Array...\n",arr.ndim)

배열의 데이터 타입을 확인합니다.

print("\nDatatype of our Array object...\n",arr.dtype)

배열의 형태(shape)를 확인합니다.

print("\nShape of our Array object...\n",arr.shape)

scimath를 사용하여 자연 로그를 계산하려면 Python NumPy의 np.emath.log() 메서드를 호출합니다.

print("\nResult (log)...\n",np.emath.log(arr))

전체 예제 코드

import numpy as np

# array() 메서드를 사용하여 NumPy 배열 생성
arr = np.array([np.inf, -np.inf, np.exp(1), -np.exp(1)])

# 배열 출력
print("Our Array...\n",arr)

# 차원 확인
print("\nDimensions of our Array...\n",arr.ndim)

# 데이터 타입 확인
print("\nDatatype of our Array object...\n",arr.dtype)

# 형태 확인
print("\nShape of our Array object...\n",arr.shape)

# scimath를 사용하여 자연 로그 계산
print("\nResult (log)...\n",np.emath.log(arr))

실행 결과

Our Array...
[ inf -inf 2.71828183 -2.71828183]

Dimensions of our Array...
1

Datatype of our Array object...
float64

Shape of our Array object...
(4,)

Result (log)...
[inf+0.j inf+3.14159265j 1.+0.j 1.+3.14159265j]

실행 결과를 살펴보면, 양의 무한대(np.inf)의 로그는 inf+0.j로 반환되고, 음의 무한대(-np.inf)의 로그는 허수부가 π(3.14159265)인 복소수로 계산됩니다. 또한 자연상수 e(약 2.71828183)의 로그는 1이며, -e의 로그 역시 허수부를 포함한 복소수 값으로 반환되는 것을 확인할 수 있습니다. 이처럼 np.emath.log()는 음수 입력에 대해서도 안정적으로 복소수 결과를 제공합니다.