Complexe getallen
Een complex getal heeft een reëel en een imaginair deel, geschreven met i, de vierkantswortel van −1. Deze pagina behandelt complexe getallen invoeren, ermee rekenen, modulus en argument bepalen, vierkantswortels van negatieve getallen vinden en functies die complexe waarden accepteren.
Gebruik dit bij kwadratische vergelijkingen zonder reële wortels, wisselstroomcircuits, signalen of het controleren van opgaven over complexe analyse.
Complexe getallen schrijven
2 + 3i geeft 2 + 3icomplex(3, -4) geeft 3 - 4ii^2 geeft -1Zet i direct achter een getal voor het imaginaire deel, zoals 3i of 1.5i, of gebruik alleen i. complex(real, imaginary) maakt dezelfde waarde uit twee delen; handig als die een naam hebben: complex(resistance, reactance). Beide delen moeten gewone getallen zonder eenheden zijn.
i betekent alleen de imaginaire eenheid zolang niets anders in de notitie i heet. Zodra je een naam of eigen eenheid met de naam i definieert, krijgt die voorrang:
i = 52 + 3i geeft 17complex(2, 3) geeft 2 + 3iHier werd 3i gelijk aan 3 × 5 en gaf de regel 17. Namen gelden over alle rekenblokken van een notitie, dus een eerdere i = … heeft hetzelfde effect. Gebruik i niet als naam in notities met complexe getallen. complex(2, 3) gebruikt de naam niet en blijft dus werken.
Rekenbewerkingen
(2 + 3i) + (1 - 5i) geeft 3 - 2i(1 + 2i) * (3 - i) geeft 5 + 5i(2 + 3i) * (2 - 3i) geeft 1310 / (3 + 4i) geeft 1.2 - 1.6i(1 + i)^8 geeft 16Optellen, aftrekken, vermenigvuldigen, delen en gehele machten zijn exact. Is het imaginaire deel nul, zoals bij (2 + 3i) * (2 - 3i), dan verschijnt het resultaat als gewoon getal. Gebruik bij vermenigvuldigen en delen haakjes rond elk complex getal, zodat (2 + 3i) * (2 - 3i) niet gelezen wordt als 2 + (3i * 2) - 3i.
Delen van een complex getal
z = 3 + 4ireal(z) geeft 3imag(z) geeft 4conj(z) geeft 3 - 4iabs(z) geeft 5arg(1 + i) geeft 0.7853981634arg(1 + i) rad in degrees geeft 45°| Functie | Geeft |
|---|---|
real(z) |
Het reële deel |
imag(z) |
Het imaginaire deel, als gewoon getal |
conj(z) |
De complex geconjugeerde: hetzelfde reële deel, met omgekeerd teken van het imaginaire deel |
abs(z) |
De modulus: de afstand tot nul |
arg(z) |
Het argument: de hoek vanaf de positieve reële as, in radialen |
arg geeft een gewoon getal in radialen tussen −π en π. Om graden te zien, geef je er de eenheid radiaal aan en reken je om, zoals in de laatste regel. Gebruik omgekeerd exp om vanuit modulus en hoek een complex getal te maken: 2 * exp(i * pi / 3) is 1 + 1.7320508076i.
Vierkantswortels van negatieve getallen
De vierkantswortel van een gewoon negatief getal geldt als een reële berekening. Daarom toont sqrt(-16) een fout met de juiste alternatieve invoer: Error: imaginary number. For a complex answer, write sqrt(-16 + 0i). Schrijf het getal als complex getal om een complexe wortel te vragen: voeg 0i toe of gebruik complex(…, 0):
sqrt(-16 + 0i) geeft 4isqrt(complex(-16, 0)) geeft 4isqrt(3 + 4i) geeft 2 + isqrt(2i) geeft 1 + isqrt geeft de hoofdwortel, met positief reëel deel of, bij negatieve getallen, positief imaginair deel. De andere vierkantswortel is het tegengestelde daarvan.
Een als complex ingevoerde waarde blijft complex, ook met imaginair deel nul. Je kunt haar een naam geven of eerst verder rekenen: na x = -16 + 0i is sqrt(x) gelijk aan 4i, hoewel x wordt weergegeven als -16.
Zo werkt de abc-formule voor elke kwadratische vergelijking:
# Roots of x^2 + 2x + 5 = 0a = 1b = 2c = 5disc = b^2 - 4*a*c geeft -16(-b + sqrt(disc + 0i)) / (2*a) geeft -1 + 2i(-b - sqrt(disc + 0i)) / (2*a) geeft -1 - 2iDerdemachtswortels volgen dezelfde hoofdwortelregel. Dat kan bij negatieve getallen verrassend zijn:
cbrt(-8) geeft -2cbrt(-8 + 0i) geeft 1 + 1.7320508076iBeide zijn derdemachtswortels van −8. De reële vorm geeft de reële wortel; de complexe vorm geeft de complexe hoofdwortel.
Functies van een complex getal
exp(i * pi) geeft -1ln(-1 + 0i) geeft 3.1415926536ii^i geeft 0.2078795764cos(i) geeft 1.5430806348sinh(i) geeft 0.8414709848i2^i geeft 0.7692389014 + 0.6389612763iDeze functies accepteren complexe waarden:
sin,cos,tanen hun inverse functiesasin,acos,atansinh,cosh,tanhen hun inverse functiesasinh,acosh,atanhexp,ln,log(oflog10),log2,sqrtencbrt- machten met gebroken of complexe exponenten, zoals
i^0.5of2^i
Ze rekenen met binaire drijvendekommagetallen; resultaten zijn dus nauwkeurige benaderingen. Verwaarloosbaar kleine afrondingsresten verschijnen als 0, zodat exp(i * pi) wordt getoond als −1, zoals in het leerboek. De opgeslagen waarde behoudt alle cijfers. Controleer bij vergelijken daarom of het verschil klein genoeg is, zoals met abs(exp(i * pi) + 1) < 1e-9, in plaats van == te gebruiken.
Elke functie geeft één resultaat uit haar hoofdtak. Een complex getal heeft oneindig veel logaritmen en meerdere wortels; je krijgt de standaardwaarde. Net als bij sqrt blijft reële invoer reëel: ln(-1) en log(-100) geven de fout over een imaginair getal met de complexe invoer om te proberen, terwijl ln(-1 + 0i) πi geeft. De logaritme van nul is een fout.
Functies die alleen voor reële getallen zinvol zijn, zoals floor en round, accepteren geen complexe waarden.
Complexe getallen vergelijken
2 + 3i == complex(2, 3) geeft true2 + 3i != 2 - 3i geeft truecomplex(3, 0) >= 3 geeft trueabs(3 + 4i) > abs(1 + 2i) geeft true== en != werken met alle complexe waarden. <, <=, > en >= werken alleen als beide imaginaire delen nul zijn: complexe getallen hebben geen natuurlijke ordening, dus i < 2 is een fout. Vergelijk voor grootte de moduli met abs, zoals in de laatste regel. Complexe getallen kunnen niet worden gesorteerd.
De volledige regels staan in de referentie voor geavanceerde wiskunde.
Alles combineren
Hier controleren we een wisselstroomopgave: een weerstand van 30 Ω en een spoel met 40 Ω reactantie in serie, aangesloten op 10 V:
# Series circuit: 30 Ω resistor, 40 Ω reactance, 10 V supplyresistance = 30reactance = 40z = complex(resistance, reactance) geeft 30 + 40iabs(z) geeft 50current = 10 / z geeft 0.12 - 0.16iabs(current) geeft 0.2arg(z) rad in degrees to 1 dp geeft 53.1°De impedantie is 30 + 40i, met modulus 50 Ω. De stroom is dus 0,2 A en loopt ongeveer 53,1° achter op de spanning. In de elektrotechniek staat vaak j voor de imaginaire eenheid; in Varlig is dat altijd i. Ohm, volt en ampère staan in de opmerking, omdat de delen van een complex getal geen eenheden kunnen dragen.