next up previous contents index
Nächste Seite: 3.6.2 Funktionen für Zeichenketten Aufwärts: 3.6 Operationen mit vordefinierten Vorherige Seite: 3.6 Operationen mit vordefinierten   Inhalt   Index


3.6.1 Mathematische Funktionen

Im Headerfile math.h werden u.a. die Definitionen der in Tabelle 3.1 zusammengefaßten mathematischen Funktionen und Konstanten bereitgestellt:


Tabelle 3.1: Mathematische Funktionen
Funktion/Konstante     Beschreibung
sqrt(x)     Quadratwurzel von x: $ \sqrt[2]{{x}}$ (x$ \ge$ 0)
exp(x)     ex
log(x)     natürlicher Logarithmus von x: logex (x > 0)
pow(x,y)     Potenzieren (x > 0 falls y nicht ganzzahlig)
fabs(x)     Absolutbetrag von x: | x|
fmod(x,y)     realzahliger Rest von x/y (y $ \neq$ 0)
ceil(x)     nächste ganze Zahl $ \ge$x
floor(x)     nächste ganze Zahl $ \le$x
sin(x), cos(x), tan(x)     trigonometrische Funktionen
asin(x), acos(x)     trig. Umkehrfunktionen ( x $ \in$ [- 1, 1])
atan(x)     trig. Umkehrfunktion
M_E     Eulersche Zahl e
M_PI     $ \pi$


Das Runden einer reellen Zahl x erreicht man durch ceil(x+0.5) (ohne Beachtung der Rundungsregeln bei z.B., 4.5).

Für die Zulässigkeit der Operationen, d.h., den Definitionsbereich der Argumente, ist der Programmierer verantwortlich. Ansonsten werden Programmabbrüche oder unsinnige Ergebnisse produziert. (siehe Ex361.cc)

//	Math. functions
#include <iostream.h>
#include <math.h>

main()
{
 double x,y,z;
 
 x = -1;                //   x < 0 !!
 y = sqrt(x);           //   Square root with wrong argument

 cout << "x = " << x << " ,  y  = " << y << endl;

                        //   Absolut value
 z = fabs(x);
 cout << "x = " << x << " , |x| = " << z << endl;

                        //   Power function
 y = 3.0;               //   try 2.0 , 3.0 and 2.5
 z = pow(x,y);
 cout << "(x,y) = " << x << " , " << y
                         << " , x^y = " << z << endl;
}

Die Funktionen aus math.h werden in einer speziellen mathematischen Bibliothek gespeichert, sodaß der Befehl zum Compilieren und Linken diese Bibliothek libm.a berücksichtigen muß, d.h.
LINUX> g++ Ex361.cc [-lm]


next up previous contents index
Nächste Seite: 3.6.2 Funktionen für Zeichenketten Aufwärts: 3.6 Operationen mit vordefinierten Vorherige Seite: 3.6 Operationen mit vordefinierten   Inhalt   Index
Gundolf Haase 2004-01-15