NAZWA

complex - podstawy arytmetyki liczb zespolonych

SKŁADNIA

#include <complex.h>

OPIS

Liczb zespolone to liczby w postaci z = a+b*i, gdzie a oraz b są liczbami rzeczywistymi, a i = sqrt(-1), tak że i*i = -1.
Istnieją inne sposoby reprezentowania tych liczb. Para (a,b) liczb rzeczywistych może być potraktowana jako punkt przestrzeni, określony przez współrzędne X i Y. Ten sam punkt może być opisany przez podanie pary liczb rzeczywistych (r, phi), gdzie r jest odległością od środka O, a phi jest kątem między linią współrzędnych X i linią Oz. Wtedy z = r*exp(i*phi) = r*(cos(phi)+i*sin(phi)).
Podstawowymi operacjami zdefiniowanymi na liczbach z = a+b*i oraz w = c+d*i są:
dodawanie: z+w = (a+c) + (b+d)*i
mnożenie: z*w = (a*c - b*d) + (a*d + b*c)*i
dzielenie: z/w = ((a*c + b*d)/(c*c + d*d)) + ((b*c - a*d)/(c*c + d*d))*i
Prawie wszystkie funkcje matematyczne mają odpowiedniki dla liczb zespolonych, jednakże istnieje parę funkcji przeznaczonych tylko dla liczb zespolonych.

PRZYKŁADY

Kompilator języka C może pracować z liczbami zespolonymi, jeżeli tylko obsługuje standard C99. Proszę linkować z -lm. Część urojona jest reprezentowana przez I.
/* sprawdza, że exp(i * pi) == -1 */
#include <math.h>        /* dla atan */
#include <stdio.h>
#include <complex.h>
int main(void) { double pi = 4 * atan(1.0); double complex z = cexp(I * pi); printf("%f + %f * i\n", creal(z), cimag(z)); }

ZOBACZ TAKŻE

cabs(3), cacos(3), cacosh(3), carg(3), casin(3), casinh(3), catan(3), catanh(3), ccos(3), ccosh(3), cerf(3), cexp(3), cexp2(3), cimag(3), clog(3), clog10(3), clog2(3), conj(3), cpow(3), cproj(3), creal(3), csin(3), csinh(3), csqrt(3), ctan(3), ctanh(3)

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Robert Luberda <[email protected]> i Michał Kułach <[email protected]>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej [email protected]