BEZEICHNUNG
complex − Grundlagen der komplexen Mathematik
ÜBERSICHT
#include <complex.h>
Diese Handbuchseite ist eventuell veraltet. Im Zweifelsfall ziehen Sie die englischsprachige Handbuchseite zu Rate, indem Sie
man -LC 5 complex
eingeben.
BESCHREIBUNG
Komplexe Zahlen
sind Zahlen der Form z = a+b*i, wobei a und b reelle Zahlen
sind und i = sqrt(-1), also i*i = -1.
Es gibt andere Arten diese Zahl zu repräsentieren. Das
Paar (a,b) aus reellen Zahlen kann als Punkt in der Ebene
betrachtet werden, der durch die X- und Y-Koordinaten
gegeben ist. Derselbe Punkt kann auch durch ein Paar (r,phi)
von reellen Zahlen beschrieben werden, wobei r der Abstand
vom Ursprung 0 ist, und phi der Winkel zwischen der X-Achse
und der Geraden 0z. Nun ist z = r*exp(i*phi) =
r*(cos(phi)+i*sin(phi)).
Die
grundlegenden Operationen sind auf z = a+b*i und w = c+d*i
folgendermaßen definiert:
Addition: z+w = (a+c) + (b+d)*i
Multiplikation: z*w = (a*c - b*d) + (a*d + b*c)*i
Division: z/w = ((a*c + b*d)/(c*c + d*d)) + ((b*c -
a*d)/(c*c + d*d))*i
Nahezu alle mathematischen Funktionen haben komplexe Gegenstücke, aber es gibt einige nur-komplexe Funktionen.
BEISPIEL
Ihr C-Compiler kann mit komplexen Zahlen arbeiten, wenn er den C99-Standard unterstützt. Sie müssen mit −lm linken. Die imaginäre Einheit wird durch I repräsentiert.
/* überprüfe exp(i*pi) == -1 */
#include <math.h> |
/* für atan */ |
#include <complex.h>
main() {
double pi = 4*atan(1); | |
complex z = cexp(I*pi); | |
printf("%f+%f*i\n", creal(z), cimag(z)); |
}