본문 바로가기

언어/Python

[ Python ] complex 클랙스를 사용해서 복소수 다루기

반응형

파이썬의 complex 클래스는 복소수를 표현하기 위해 사용됩니다. 복소수는 실수 부분과 허수 부분으로 구성되며, complex 클래스는 이러한 복소수를 효과적으로 다루는 데 필요한 기능을 제공합니다.

주요 특징 및 사용법

  1. 복소수 생성:
    • 복소수는 a + bj 형태로 나타내며, 여기서 a는 실수 부분이고 b는 허수 부분입니다. j는 허수 단위를 나타냅니다.
    • 복소수를 생성하는 두 가지 방법이 있습니다:
      • complex(a, b)를 사용하여 a + bj 복소수를 생성.
      • 직접 a + bj 형태로 입력.
z1 = complex(3, 4)  # 3 + 4j
z2 = 3 + 4j         # 3 + 4j
  1. 복소수의 속성:
    • complex 객체는 두 가지 속성을 가지고 있습니다:
      • .real: 복소수의 실수 부분.
      • .imag: 복소수의 허수 부분.
z = 3 + 4j
print(z.real)  # 출력: 3.0
print(z.imag)  # 출력: 4.0
  1. 복소수 연산:
    • 파이썬의 complex 클래스는 덧셈, 뺄셈, 곱셈, 나눗셈을 포함한 다양한 산술 연산을 지원합니다. 이들 연산의 결과는 모두 complex 객체로 반환됩니다.
z1 = 3 + 4j
z2 = 1 - 2j

add_result = z1 + z2  # (3 + 4j) + (1 - 2j) = 4 + 2j
sub_result = z1 - z2  # (3 + 4j) - (1 - 2j) = 2 + 6j
mul_result = z1 * z2  # (3 + 4j) * (1 - 2j) = 11 + 2j
div_result = z1 / z2  # (3 + 4j) / (1 - 2j) = -1 + 2j

print(add_result)  # 출력: (4+2j)
print(sub_result)  # 출력: (2+6j)
print(mul_result)  # 출력: (11+2j)
print(div_result)  # 출력: (-1+2j)
  1. 복소수의 절댓값:
    • 복소수의 절댓값(크기)은 피타고라스 정리를 사용하여 계산됩니다. abs() 함수를 사용하여 절댓값을 구할 수 있습니다.
z = 3 + 4j
magnitude = abs(z)  # sqrt(3**2 + 4**2) = 5.0
print(magnitude)    # 출력: 5.0
  1. 복소수의 복소켤레:
    • 복소켤레는 복소수의 허수 부분의 부호를 바꾼 값입니다. complex 객체의 conjugate() 메서드를 사용하여 복소켤레를 구할 수 있습니다.
z = 3 + 4j
conjugate_z = z.conjugate()  # 3 - 4j
print(conjugate_z)           # 출력: (3-4j)
  1. 극좌표 변환:
    • 복소수를 극좌표로 변환할 때 cmath 모듈을 사용할 수 있습니다. 이 모듈을 사용하여 복소수의 크기와 각도를 구할 수 있습니다.
import cmath

z = 3 + 4j
r, theta = cmath.polar(z)  # 극좌표 변환
print(r)       # 출력: 5.0 (절댓값)
print(theta)   # 출력: 0.9272952180016122 (라디안 단위의 각도)

# 극좌표를 직교좌표로 변환
z_rect = cmath.rect(r, theta)
print(z_rect)  # 출력: (3.0000000000000004+3.9999999999999996j)
  1. 복소수의 응용:
    • 복소수는 물리학, 공학, 신호 처리, 전기 회로 이론, 제어 이론 등에서 광범위하게 사용됩니다. 예를 들어, 교류 전기 회로에서 임피던스를 계산할 때 복소수를 사용합니다.

정리

파이썬의 complex 클래스는 복소수를 쉽고 효율적으로 다룰 수 있는 기능을 제공합니다. 복소수는 파이썬 내장 자료형 중 하나로, 수학적 및 과학적 계산에서 매우 유용하게 사용될 수 있습니다.

반응형