In diesem Abschnitt werden die transzendenten Funktionen der Klasse complex beschrieben. #include <complex.h> class complex public: friend complex exp(complex); }; | |
complex z = exp(complex x) Es wird e x geliefert. complex z = log(complex x) Der natürliche Logarithmus von x wird geliefert. complex z = pow(complex x, complex y) Es wird x y geliefert. complex z = sqrt(complex x) Die Quadratwurzel von x, die im ersten oder vierten Quadranten der komplexenEbene enthalten ist, wird geliefert. | |
FEHLERERGEBNISSE | |
exp liefert (0.0, 0.0), wenn der Realteil von x so klein oder der Imaginärteil so groß ist, daß es zu einem Überlauf kommt. Ist der Realteil groß genug, um einen Überlauf hervorzurufen, liefert exp:
In allen diesen Fällen wird errno auf ERANGE gesetzt. Die Funktion log() liefert (-HUGE, 0.0) und setzt errno auf EDOM, wenn x (0.0, 0.0) ist. Auf der Standardfehlerausgabe wird eine Meldung angezeigt, die auf einen SING-Fehler hinweist. Die fehlerbehandelnden Prozeduren können durch die Funktion complex_error() (siehe "cplxerr Fehlerbehandelnde Funktionen") verändert werden. | |
BEISPIEL | Das folgende Programm gibt eine Folge komplexer Zahlen sowie deren Exponentialpotenzen aus. #include <iostream.h> #include <complex.h> main() { complex c; for (c = complex(1.0,1.0); real(c) < 4.0; c += complex(1.0,1.0)) { cout <<c<<" "<<exp(c)<<"\n"; } return 0; } Das Ergebnis der Programmausführung ist: ( 1, 1) ( 1.46869, 2.28736) ( 2, 2) ( -3.07493, 6.71885) ( 3, 3) ( -19.8845, 2.83447) % CCM0998 Verbrauchte CPU-Zeit: 0.0012 Sekunden Komplexe Zahlen können mit dem Operator << ausgegeben werden. Die Bearbeitung komplexer Zahlen ist genauso einfach wie die der Zahlen vom Typ float oder double. |
SIEHE AUCH | |