파이썬에서 복소수 사용 [닫힌]


111

나는 수학 초보자입니다. 이제 Python 데이터 유형에 대해 더 자세히 알아 보겠습니다. 복소수를 사용하는 방법을 이해할 수 없습니다. 파이썬에서 복소수의 사용 예를 들어주세요.


1
당신이 수학을 처음 접한다고 말했듯이, 당신이하고 싶은 것을 수학 표기법으로 쓸 수 있습니까?
mmmmmm 2011

14
나는 이것이 닫혔어야한다고 생각하지 않는다. 또한 파이썬이 수학, 통계, R 등에서 일반적으로 사용되는보다 직관적 인 'i'구문보다 엔지니어링에서 일반적으로 사용되는 'j'가상 구문을 사용하는 것이 혼란 스러웠습니다. 아래의 첫 번째 답변은이를 소개하는 좋은 작업이었습니다.
Mittenchops 2013 년

help(complex)예를 들어`import decimal과는 달리 예제를 보여주지 않는 파이썬의 합법적 인 docbug로 보입니다 ; help (decimal)`
smci

답변:


188

파이썬에서는 숫자 뒤에 'j'또는 'J'를 넣어 가상으로 만들 수 있으므로 복잡한 리터럴을 쉽게 작성할 수 있습니다.

>>> 1j
1j
>>> 1J
1j
>>> 1j * 1j
(-1+0j)

'j'접미사는 전기 공학에서 나옵니다. 여기서 변수 'i'는 일반적으로 전류에 사용됩니다. ( 여기에서 추론을 찾을 수 있습니다. )

복소수의 유형은complex 이며 원하는 경우 유형을 생성자로 사용할 수 있습니다.

>>> complex(2,3)
(2+3j)

복소수에는 몇 가지 기본 제공 접근자가 있습니다.

>>> z = 2+3j
>>> z.real
2.0
>>> z.imag
3.0
>>> z.conjugate()
(2-3j)

여러 내장 함수가 복소수를 지원합니다.

>>> abs(3 + 4j)
5.0
>>> pow(3 + 4j, 2)
(-7+24j)

표준 모듈cmath 에는 복소수를 처리하는 더 많은 기능이 있습니다.

>>> import cmath
>>> cmath.sin(2 + 3j)
(9.15449914691143-4.168906959966565j)

8
'i'는 수학자, 물리학 자 및 거의 모든 다른 과학자들도 사용합니다. 그것이 충분히 혼란스럽지 않다면, 어떤 사람들은 'i'를 사용하여 1의 "양의"제곱근을 나타내는 반면, 'j'는 1의 "음의"제곱근을 나타냅니다. 따라서 i == -j. FYJ ...
jvriesem

13

복소수에 대한 다음 예제 는 끝에 오류 메시지를 포함하여 설명이 필요합니다.

>>> x=complex(1,2)
>>> print x
(1+2j)
>>> y=complex(3,4)
>>> print y
(3+4j)
>>> z=x+y
>>> print x
(1+2j)
>>> print z
(4+6j)
>>> z=x*y
>>> print z
(-5+10j)
>>> z=x/y
>>> print z
(0.44+0.08j)
>>> print x.conjugate()
(1-2j)
>>> print x.imag
2.0
>>> print x.real
1.0
>>> print x>y

Traceback (most recent call last):
  File "<pyshell#149>", line 1, in <module>
    print x>y
TypeError: no ordering relation is defined for complex numbers
>>> print x==y
False
>>> 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.