Sammlung wissenschaftliche Texte
A B C D E F G H I J K L M N O P Q R S T U V W X Z
Ä Ö
C+ C- CA CD CH CO CY

C-Programmierung: Komplexe Zahlen

 
Seit der Verabschiedung des C99 Standards gibt es die Möglichkeit, direkt mit komplexen Zahlen in C zu arbeiten. Zur Verfügung stehen einem die verschiedenen Darstellungsformen und mathematische Operationen.

Schreibweise
In diesem Abschnitt werden die verschiedenen Möglichkeiten gezeigt, mit denen komplexe Zahlen ein- und ausgegeben werden können.
Kartesische-Form
Im folgendem Beispiel wird eine komplexe Zahl definiert und ausgegeben.


#include
#include

int main()
(
double complex z = 3 + 4I;
printf('%f + %fi\n', creal(z), cimag(z));

return EXIT_SUCCESS;
)


3.000000 + 4.000000 i

Um im Quelltext Real- von Imaginärteil zu unterscheiden, wird das Makro I mit dem Imaginärteil multipliziert. Dieses verhält sich wie bei der mathematischen Schreibweise, bei der ebenfalls ein j oder i mit dem Imaginärteil multipliziert wird. Bei der Ausgabe in Zeile 7 werden zunächst der Real- und Imaginärteil der komplexen Zahl bestimmt, um diese dann als normale double-Werte auszugeben.

Polarform

z = 5 \cdot e^(\mathrm(i) \pi \over 2 ) = 0 + 5\mathrm(i)


#define _XOPEN_SOURCE 500
#include
#include
#include

int main()
(
double complex z = 5 cexp(M_PI_2 I);
printf('%f e^(%f i) = %f + %f i\n', cabs(z), carg(z), creal(z), cimag(z));

return EXIT_SUCCESS;
)


5.000000 e^(1.570796 i) = 0.000000 + 5.000000 i

In diesem Beispiel wurde die komplexe Zahl in der Polarform angegeben. Dafür wurde die Funktion cexp() benutzt, welche die natürliche Exponentialfunktion für komplexe Zahlen darstellt. Das Makro M_PI_2 ist eine mathematische Konstante und entspricht \pi / 2, welches in unserem Beipiel einem Winkel φ = 90° entspricht. Bei der Ausgabe wird mit der Funktion cabs() der Betrag und mit carg() die Phase unserer komplexen Zahl z bestimmt.


>

Quelle:
Seitentitel:C-Programmierung: Komplexe Zahlen
Herausgeber: Wikibooks
Autor(en): Wikipedia-Autoren
Bearbeitungsstand: 2011-01-30T10:53:52Z
Permanentlink: de.wikibooks.org/w/index.php?title=Wikibooks:C-Programmierung:_Komplexe_Zahlen
Datum des Abrufs: 26. Januar 2011, 12:00 UTC
GNU Free Documentation License
to main page Über TexteTop 10DictionariesFeedback top of page
© 2008 Wörter
minecraft forum
XHTML | CSS
1.8.11