Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 복소수?

<시간/>

복소수는 실수에서 생성됩니다. 파이썬 복소수는 직접 할당문을 사용하거나 복합() 함수를 사용하여 생성할 수 있습니다.

두 개의 실수를 사용하는 곳에서 주로 사용되는 복소수. 예를 들어, 전압(V)과 전류(C)로 정의되는 전기 회로는 기하학, 과학 계산 및 미적분학에서 사용됩니다.

구문

복잡한([실제[, 이미지]])

파이썬에서 간단한 복소수 만들기

>>> c =3 +6j>>> print(type(c))>>> print(c)(3+6j)>>>>>> c1 =complex(3 ,6)>>> 인쇄(유형(c1))<클래스 '복합체'>>>> 인쇄(c1)(3+6j)

위의 결과에서 파이썬 복소수가 복소수 유형임을 알 수 있습니다. 각 복소수는 하나의 실수부와 하나의 허수로 구성됩니다.

Python 복소수 - 속성 및 함수

>>> #복소수:>>> c =(3 + 6j)>>>>>> #Real 복소수의 부분>>> print('복소수:실수 부분은 =', c. 실수 )복소수:실수부는 =3.0>>>>>> #복소수의 허수부>>> print('복소수:허수부는 =', c. imag)복소수:허수부는 =6.0>>>>>> #복소수의 켤레>>> print('복소수:켤레 부분 =', c. conjugate())복소수:켤레 부분 =(3-6j)

복소수에 대한 수학적 계산

복소수에 대해 간단한 수학 계산을 할 수 있습니다.

>>> #첫 번째 복소수>>> c1 =3 + 6j>>> #두 번째 복소수>>> c2 =6 + 15j>>>>>> #Addition>>> print("2의 더하기 복소수 =", c1 + c2)두 복소수의 더하기 =(9+21j)>>>>>> #Subtraction>>> print("두 복소수의 빼기 =", c1 - c2)두 복소수의 빼기 number =(-3-9j)>>>>>> #Multiplication>>> print("두 복소수의 곱 =", c1 * c2)두 복소수의 곱 =(-72+81j)>>>>>> #Division>>> print("두 복소수의 나눗셈 =", c1 / c2)두 복소수의 나눗셈 =(0.4137931034482759-0.03448275862068964j)

그러나 복소수는 <,>, <=, =>와 같은 비교 연산자를 지원하지 않으며 TypeError 메시지를 통해 지원됩니다.

>>> c2 <=c2Traceback(가장 최근 호출 마지막):파일 "", 줄 1, c2 <=c2TypeError:'<=' '복잡한' 인스턴스 간에 지원되지 않음 및 '복잡한'

파이썬 cmath 모듈

Python cmath 모듈은 복소수에 대한 수학 함수에 대한 액세스를 제공합니다. 수학 모듈 함수를 사용하여 복소수의 몇 가지 중요한 기능을 살펴보겠습니다.

복소수의 위상

복소수의 위상은 실수 축과 허수부를 나타내는 벡터 사이의 각도입니다.

math 및 cmath 모듈에서 반환된 위상은 라디안 단위이며 numpy.degrees() 함수를 사용하여 도 단위로 변환합니다.

cmath, math, numpyc =4+ 4j# phasephase =cmath.phase(c)print('4+ 4j Phase =', phase)print('도 단위 위상 =', numpy.degrees(phase)) 가져오기 print('-4-4j Phase =', cmath.phase(-4-4j), 'radians. Degrees =', numpy.degrees(cmath.phase(-4-4j)))# 수학을 사용하여 위상을 얻을 수 있습니다 .atan2() function tooprint('math.atan2()를 사용한 복소수 위상 =', math.atan2(2, 1))

결과

4+ 4j 위상 =0.7853981633974483위상(도) =45.0-4-4j 위상 =-2.356194490192345 라디안. 도 =-135.0math.atan2() =1.1071487177940904를 사용한 복소수 위상

cmath 모듈 상수

복소수 계산에 사용되는 cmath 모듈에서 사용할 수 있는 몇 가지 상수가 있습니다.

가져오기 cmathprint('π =', cmath.pi)print('e =', cmath.e)print('tau =', cmath.tau)print('양의 무한대 =', cmath.inf)print ('양의 복소수 무한대 =', cmath.infj)print('NaN =', cmath.nan)print('NaN 복소수 =', cmath.nanj)

결과

π =3.141592653589793e =2.718281828459045tau =6.283185307179586양의 무한대 =inf양의 복소수 무한대 =infjNaN =nanNaN 복소수 =nanj전원 및 로그 기능 

cmath() 모듈은 대수 및 거듭제곱 연산을 위한 몇 가지 유용한 함수를 제공합니다.

가져오기 cmathc =1 + 2jprint('e^c =', cmath.exp(c))print('log2(c) =', cmath.log(c, 2))print('log10(c) =', cmath.log10(c))print('sqrt(c) =', cmath.sqrt(c))

결과

E C ^ =(+ -1.1312043837568135 2.4717266720048188j)은 log2 (c) =(+ 1.1609640474436813 1.5972779646881088j) LOG10 (c) =(+ 0.3494850021680094 0.480828578784234j) SQRT (C) =(+ 1.272019649514069 0.7861513777574233j) >

삼각 함수

가져오기 cmathc =2 + 4jprint('아크 사인 값:\n ', cmath.asin(c))print('아크 코사인 값:\n', cmath.acos(c))print('아크 탄젠트 값 복소수 c :\n', cmath.atan(c))print('사인 값:\n', cmath.sin(c))print('코사인 값:\n', cmath.cos(c)) print('접선 값:\n', cmath.tan(c))

결과

 아크 사인 값 (+ 2.198573027920936j 0.4538702099631225) 코사인 값 아크 (1.4670482135772953 0.20058661813123432j +) 사인 값 :복소수 (C)의 값 아크 탄젠트 (1.1169261168317741-2.198573027920936j) (24.83130584894638-11.356612711218174j) 코사인 값 :( -11.36423470640106-24.814651485634187j)탄젠트 값:(-0.0005079806234700387+1.0004385132020523j)

쌍곡선 함수

import cmathc =2 + 4jprint('역쌍곡사인값:\n', cmath.asinh(c))print('역쌍곡사인값:\n', cmath.acosh(c))print('역쌍곡사인값:\n' 쌍곡선 탄젠트 값:\n', cmath.atanh(c))print('쌍곡선 사인 값:\n', cmath.sinh(c))print('쌍곡선 코사인 값:\n', cmath.cosh(c) )print('쌍곡선 탄젠트 값:\n', cmath.tanh(c))

결과

쌍곡선 코사인 값 - (2.370674169352002-2.8472390868488278j) 쌍곡선 사인 값 (+ 1.3715351039616865j 0.09641562020299617) 역 쌍곡선 탄젠트 값 (+ 1.1169261168317741j 2.198573027920936) 역 쌍곡선 코사인 값 (+ 1.096921548830143j 2.183585216564564) 역 쌍곡선 사인 값
 :(-2.4591352139173837-2.744817006792154j)쌍곡선 탄젠트 값:(1.0046823121902348+0.03642336924740368j)