Python: Liczby zespolone - część rzeczywista i wyimaginowana
Python ma liczby zespolone - complex - które używają znaku j zamiast i do definiowania części wyimaginowanej.
Można ją rozdzielić na część rzeczywistą i wyimaginowaną używając .real i .imag.
Części można ponownie zamienić na liczbę zespoloną używając complex() lub 1j.
Liczbę sprzeżoną można pobrać za pomocą .conjugate()
Moduł (wartość bezwględną) można pobrać standardowym abs()
cmath ma więcej funkcji, które działają z liczbami zespolonymi.
# complex number x = -5.79829066331+4.55640490659j # parts r = x.real # float i = x.imag # float # tuple, not complex number y = (x.real, x.imag) # complex number again a = complex(r, i) b = r + i * 1j # operations c = a + b d = a * b e = 1j * 1j # -1 f = abs(x) # distance - float g = x.conjugate() import cmath # not `math` h = cmath.sin(x) print('x:', x, type(x)) print('r:', r, type(r)) print('i:', i, type(i)) print('y:', y, type(y)) print('a:', a, type(a)) print('b:', b, type(b)) print('c:', c, type(c)) print('d:', d, type(d)) print('e:', e, type(e)) print('f:', f, type(f)) print('g:', g, type(g)) print('h:', h, type(h))
Wynik:
x: (-5.79829066331+4.55640490659j) <class 'complex'>
r: -5.79829066331 <class 'float'>
i: 4.55640490659 <class 'float'>
y: (-5.79829066331, 4.55640490659) <class 'tuple'>
a: (-5.79829066331+4.55640490659j) <class 'complex'>
b: (-5.79829066331+4.55640490659j) <class 'complex'>
c: (-11.59658132662+9.11280981318j) <class 'complex'>
d: (12.8593489434305-52.838720056281346j) <class 'complex'>
e: (-1+0j) <class 'complex'>
f: 7.374347448352657 <class 'float'>
g: (-5.79829066331-4.55640490659j) <class 'complex'>
h: (22.19895896009363+42.126120958884385j) <class 'complex'>
Notatki:
Stackoverflow: separate real and imaginary part of a complex number in python
If you like it
Buy a Coffee
