A Python complex
adattípusa kiválóan támogatja a komplex számokkal végzett műveleteket. Az alábbiakban bemutatom a legfontosabb műveleteket és függvényeket komplex számok kezelésére.
# Közvetlen létrehozás
z1 = complex(3, 4) # 3 + 4j
z2 = 2 - 5j # 2 - 5j
# Kiírás
print(f"z1 = {z1}, z2 = {z2}")
# Összeadás
osszeg = z1 + z2
print(f"{z1} + {z2} = {osszeg}")
# Kivonás
kulonbseg = z1 - z2
print(f"{z1} - {z2} = {kulonbseg}")
# Szorzás
szorzat = z1 * z2
print(f"{z1} * {z2} = {szorzat}")
# Osztás
hanyados = z1 / z2
print(f"{z1} / {z2} = {hanyados}")
# Valós és képzetes rész
print(f"{z1} valós része: {z1.real}")
print(f"{z1} képzetes része: {z1.imag}")
# Abszolút érték (magnitude)
abszolut_ertek = abs(z1)
print(f"{z1} abszolút értéke: {abszolut_ertek}")
# Konjugált
konjugalt = z1.conjugate()
print(f"{z1} konjugáltja: {konjugalt}")
A cmath
modul további speciális függvényeket kínál komplex számokra.
import cmath
# Szinusz és koszinusz
z_sin = cmath.sin(z1)
z_cos = cmath.cos(z1)
print(f"sin({z1}) = {z_sin}")
print(f"cos({z1}) = {z_cos}")
# Exponenciális függvény
z_exp = cmath.exp(z1)
print(f"e^{z1} = {z_exp}")
# Fázisszög (argumentum, radiánban)
fazis = cmath.phase(z1)
print(f"{z1} fázisszöge: {fazis} radián")
# Polár koordináták
r, theta = cmath.polar(z1)
print(f"{z1} polár koordinátái: (r = {r}, θ = {theta})")
# Polárból visszaalakítás
z_polar = cmath.rect(r, theta)
print(f"Polárból visszaalakítva: {z_polar}")
import cmath
# Felhasználótól komplex szám bekérése
valos = float(input("Add meg a komplex szám valós részét: "))
kepzetes = float(input("Add meg a komplex szám képzetes részét: "))
z = complex(valos, kepzetes)
# Alap tulajdonságok és műveletek
print(f"Komplex szám: {z}")
print(f"Valós rész: {z.real}, Képzetes rész: {z.imag}")
print(f"Abszolút érték: {abs(z)}")
print(f"Konjugált: {z.conjugate()}")
print(f"Fázisszög: {cmath.phase(z)} radián")
Ha a bemenet 3 és 4:
Add meg a komplex szám valós részét: 3 Add meg a komplex szám képzetes részét: 4 Komplex szám: (3+4j) Valós rész: 3.0, Képzetes rész: 4.0 Abszolút érték: 5.0 Konjugált: (3-4j) Fázisszög: 0.9272952180016122 radián