Liczby zespolone
Liczba zespolona ma część rzeczywistą i urojoną, zapisywaną z i, pierwiastkiem z −1. Ta strona opisuje zapis i arytmetykę liczb zespolonych, moduł i argument, pierwiastki z liczb ujemnych oraz funkcje obsługujące wartości zespolone.
Przydaje się przy równaniach kwadratowych bez pierwiastków rzeczywistych, obwodach prądu przemiennego, sygnałach i sprawdzaniu zadań z analizy zespolonej.
Zapisywanie liczb zespolonych
2 + 3i daje 2 + 3icomplex(3, -4) daje 3 - 4ii^2 daje -1Umieść i bezpośrednio po liczbie dla części urojonej, jak w 3i lub 1.5i, albo użyj samego i. complex(real, imaginary) tworzy tę samą wartość z dwóch części, co przydaje się dla nazw: complex(resistance, reactance). Obie części muszą być liczbami bez jednostek.
i oznacza jednostkę urojoną tylko wtedy, gdy nic innego w notatce nie ma nazwy i. Zdefiniowanie wartości lub własnej jednostki i nadaje jej pierwszeństwo:
i = 52 + 3i daje 17complex(2, 3) daje 2 + 3iTutaj 3i stało się 3 × 5, a wiersz dał 17. Nazwy przechodzą między blokami obliczeniowymi notatki, więc wcześniejsze i = … ma ten sam efekt. Unikaj nazwy i w notatkach z liczbami zespolonymi. complex(2, 3) nie korzysta z tej nazwy, więc nadal działa.
Arytmetyka
(2 + 3i) + (1 - 5i) daje 3 - 2i(1 + 2i) * (3 - i) daje 5 + 5i(2 + 3i) * (2 - 3i) daje 1310 / (3 + 4i) daje 1.2 - 1.6i(1 + i)^8 daje 16Dodawanie, odejmowanie, mnożenie, dzielenie i potęgi całkowite są dokładne. Gdy część urojona wyniku wynosi zero, jak w (2 + 3i) * (2 - 3i), wynik jest wyświetlany jako zwykła liczba. Przy mnożeniu i dzieleniu otaczaj liczby zespolone nawiasami, aby (2 + 3i) * (2 - 3i) nie zostało odczytane jako 2 + (3i * 2) - 3i.
Części liczby zespolonej
z = 3 + 4ireal(z) daje 3imag(z) daje 4conj(z) daje 3 - 4iabs(z) daje 5arg(1 + i) daje 0.7853981634arg(1 + i) rad in degrees daje 45°| Funkcja | Wynik |
|---|---|
real(z) |
Część rzeczywista |
imag(z) |
Część urojona jako liczba bez jednostki |
conj(z) |
Sprzężenie zespolone: ta sama część rzeczywista, przeciwny znak części urojonej |
abs(z) |
Moduł: odległość od zera |
arg(z) |
Argument: kąt względem dodatniej półosi rzeczywistej, w radianach |
arg zwraca liczbę radianów od −π do π, bez jednostki. Aby zobaczyć stopnie, oznacz ją jako radiany i przelicz, jak w ostatnim wierszu. W przeciwną stronę, od modułu i kąta do liczby zespolonej, użyj exp: 2 * exp(i * pi / 3) daje 1 + 1.7320508076i.
Pierwiastki kwadratowe z liczb ujemnych
Pierwiastek ze zwykłej liczby ujemnej jest obliczeniem w liczbach rzeczywistych, więc sqrt(-16) pokazuje błąd z podpowiedzią: Error: imaginary number. For a complex answer, write sqrt(-16 + 0i). Aby otrzymać pierwiastek zespolony, zapisz wejście jako liczbę zespoloną: dodaj 0i lub użyj complex(…, 0):
sqrt(-16 + 0i) daje 4isqrt(complex(-16, 0)) daje 4isqrt(3 + 4i) daje 2 + isqrt(2i) daje 1 + isqrt zwraca pierwiastek główny, z dodatnią częścią rzeczywistą lub, dla liczb ujemnych, dodatnią częścią urojoną. Drugi pierwiastek jest jego liczbą przeciwną.
Wartość zapisana jako zespolona pozostaje zespolona, nawet gdy jej część urojona wynosi zero. Możesz przypisać ją do nazwy lub wykonać dalsze obliczenia: po x = -16 + 0i wyrażenie sqrt(x) daje 4i, choć x wyświetla się jako -16.
Dzięki temu wzór na pierwiastki równania kwadratowego działa dla każdego takiego równania:
# Roots of x^2 + 2x + 5 = 0a = 1b = 2c = 5disc = b^2 - 4*a*c daje -16(-b + sqrt(disc + 0i)) / (2*a) daje -1 + 2i(-b - sqrt(disc + 0i)) / (2*a) daje -1 - 2iPierwiastki sześcienne również zwracają pierwiastek główny, co może zaskoczyć dla liczb ujemnych:
cbrt(-8) daje -2cbrt(-8 + 0i) daje 1 + 1.7320508076iOba wyniki są pierwiastkami sześciennymi z −8. Wariant rzeczywisty zwraca pierwiastek rzeczywisty, a zespolony — główny pierwiastek zespolony.
Funkcje liczby zespolonej
exp(i * pi) daje -1ln(-1 + 0i) daje 3.1415926536ii^i daje 0.2078795764cos(i) daje 1.5430806348sinh(i) daje 0.8414709848i2^i daje 0.7692389014 + 0.6389612763iTe funkcje przyjmują wartości zespolone:
sin,cos,tanoraz funkcje odwrotneasin,acos,atansinh,cosh,tanhoraz funkcje odwrotneasinh,acosh,atanhexp,ln,loglublog10,log2,sqrticbrt- potęgi o wykładnikach ułamkowych lub zespolonych, takie jak
i^0.5lub2^i
Obliczenia używają binarnej arytmetyki zmiennoprzecinkowej, więc wyniki są przybliżone. Pomijalnie małe pozostałości zaokrągleń wyświetlają się jako 0, dlatego exp(i * pi) wygląda jak −1, zgodnie z podręcznikiem. Zapisana wartość zachowuje jednak wszystkie cyfry. Przy porównywaniu sprawdzaj małą różnicę, na przykład abs(exp(i * pi) + 1) < 1e-9, zamiast używać ==.
Każda funkcja zwraca jeden wynik z gałęzi głównej. Liczba zespolona ma nieskończenie wiele logarytmów i kilka pierwiastków; otrzymujesz standardowy wybór. Podobnie jak w sqrt, wejścia rzeczywiste pozostają rzeczywiste: ln(-1) i log(-100) pokazują błąd liczby urojonej z proponowaną postacią zespoloną, a ln(-1 + 0i) daje πi. Logarytm z zera jest błędem.
Funkcje mające sens tylko dla liczb rzeczywistych, takie jak floor i round, nie przyjmują wartości zespolonych.
Porównywanie liczb zespolonych
2 + 3i == complex(2, 3) daje true2 + 3i != 2 - 3i daje truecomplex(3, 0) >= 3 daje trueabs(3 + 4i) > abs(1 + 2i) daje true== i != działają dla dowolnych wartości zespolonych. <, <=, > i >= działają tylko wtedy, gdy obie części urojone wynoszą zero, ponieważ liczb zespolonych nie da się naturalnie uporządkować: i < 2 jest błędem. Aby porównać wielkości, użyj modułów przez abs, jak w ostatnim wierszu. Liczb zespolonych nie można sortować.
Pełne zasady są w dokumentacji zaawansowanej matematyki.
Przykład całościowy
Oto sprawdzenie zadania z obwodu prądu przemiennego: rezystor 30 Ω i cewka o reaktancji 40 Ω połączone szeregowo przy zasilaniu 10 V:
# Series circuit: 30 Ω resistor, 40 Ω reactance, 10 V supplyresistance = 30reactance = 40z = complex(resistance, reactance) daje 30 + 40iabs(z) daje 50current = 10 / z daje 0.12 - 0.16iabs(current) daje 0.2arg(z) rad in degrees to 1 dp daje 53.1°Impedancja wynosi 30 + 40i, a jej moduł 50 Ω, więc prąd wynosi 0,2 A i jest opóźniony względem napięcia o około 53,1°. Inżynierowie często oznaczają jednostkę urojoną przez j; w Varlig jest to zawsze i. Omy, wolty i ampery zapisuje się w komentarzu, ponieważ części liczby zespolonej nie mogą mieć jednostek.