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

Python NumPy np.imag() 메서드로 복소수의 허수부 반환하기

복소수 인수에서 허수부(imaginary part)를 추출하려면 NumPy의 numpy.imag() 메서드를 사용하면 됩니다. 이 메서드는 입력으로 받은 복소수 배열의 허수 성분을 반환합니다.

반환값의 데이터 타입은 다음 규칙을 따릅니다.

  • 입력값 val이 실수인 경우: 출력은 val의 원래 데이터 타입을 그대로 사용합니다.
  • 입력값 val이 복소수 요소를 포함하는 경우: 반환 타입은 float가 됩니다.

메서드의 첫 번째 매개변수인 val은 허수부를 구하고자 하는 입력 배열입니다.

단계별 진행 과정

1단계: 필요한 라이브러리 임포트

먼저 NumPy 라이브러리를 가져옵니다.

import numpy as np

2단계: array() 메서드로 배열 생성

np.array() 메서드를 사용해 복소수 요소를 포함하는 배열을 만듭니다.

arr = np.array([36.+5.j , 27.+3.j , 68.+2.j , 23.+7.j])

3단계: 배열 정보 확인

생성된 배열과 차원 수, 데이터 타입, 형태(shape)를 출력하여 확인합니다.

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...\n",arr.shape)

4단계: numpy.imag() 메서드로 허수부 반환

np.imag() 메서드에 배열을 전달하면 각 복소수 요소의 허수부만 담긴 새로운 배열이 반환됩니다.

print("\nResult (Imaginary part)...\n",np.imag(arr))

전체 예제 코드

import numpy as np

# array() 메서드로 배열 생성
arr = np.array([36.+5.j , 27.+3.j , 68.+2.j , 23.+7.j])

# 배열 출력
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...\n",arr.shape)

# numpy.imag() 메서드로 복소수의 허수부 반환
print("\nResult (Imaginary part)...\n",np.imag(arr))

실행 결과

Our Array...
[36.+5.j 27.+3.j 68.+2.j 23.+7.j]

Dimensions of our Array...
1

Datatype of our Array object...
complex128

Shape of our Array...
(4,)

Result (Imaginary part)...
[5. 3. 2. 7.]

실행 결과를 보면 원본 배열의 데이터 타입이 complex128이었지만, np.imag()를 통해 얻은 허수부 결과는 float 타입([5. 3. 2. 7.])으로 반환된 것을 확인할 수 있습니다. 이처럼 numpy.imag()는 복소수 데이터에서 허수 성분만 손쉽게 분리해 낼 때 유용하게 활용됩니다.