»Jede mathematische Formel in einem Buch halbiert die Verkaufszahlen dieses Buches« – Stephen Hawking
14 Mathematik
Herzlich willkommen zum dritten Teil dieses Buches. Hier möchten wir uns intensiv mit der Standardbibliothek von Python auseinandersetzen und alle wichtigen Module besprechen. Außerdem werden wir die eine oder andere Drittanbieterbibliothek behandeln. Wir beginnen mit den Modulen der Standardbibliothek, mit deren Hilfe sich im weitesten Sinne mathematische Berechnungen durchführen lassen.
14.1 Mathematische Funktionen – math, cmath 

Das Modul math ist Teil der Standardbibliothek und stellt mathematische Funktionen und Konstanten bereit. Beachten Sie, dass math den komplexen Zahlenraum – und damit den Datentyp complex – vollständig ignoriert. Das heißt vor allem, dass eine in math enthaltene Funktion niemals einen komplexen Parameter akzeptiert oder ein komplexes Ergebnis zurückgibt. So wird die Berechnung der Quadratwurzel von -1 unter Verwendung der Bibliothek math beispielsweise stets eine Exception werfen.
Sollte ein komplexes Ergebnis ausdrücklich gewünscht sein, so kann anstelle von math das Modul cmath verwendet werden, in dem die Funktionen von math enthalten sind, die eine sinnvolle Erweiterung auf den komplexen Zahlen haben.
Im Folgenden werden alle Funktionen von math aufgelistet und besprochen. Sollte ein Äquivalent in cmath existieren, finden Sie eine entsprechende Anmerkung vor.
Bevor Sie die nachfolgenden Beispiele im interaktiven Modus verwenden können, müssen Sie das Modul math einbinden:
>>> import mathMathematische Konstanten
math.pi
Die Kreiszahl Pi ( π ).
>>> math.pi 3.1415926535897931
Die Konstante ist auch in cmath vorhanden.
math.e
Die Eulersche Zahl e.
>>> math.e 2.7182818284590451
Die Konstante ist auch in cmath vorhanden.
Zahlentheoretische Funktionen
math.ceil(x)
Die Funktion ceil (für engl. ceiling, dt. Zimmerdecke) gibt die kleinste ganze Zahl zurück, die größer oder gleich x ist. Der Parameter x muss eine Instanz eines numerischen Datentyps sein. Der Rückgabewert ist eine Gleitkommazahl.
>>> math.ceil(3.5) 4.0 >>> math.ceil(2) 2.0
math.fabs(x)
Gibt den Betrag von x zurück. Im Gegensatz zur Built-in Function abs ist der Rückgabewert von fabs immer eine Gleitkommazahl.
>>> math.fabs(-7) 7.0 >>> math.fabs(-7.5) 7.5
math.floor(x)
Die Funktion floor (dt. Fußboden) gibt die größte ganze Zahl zurück, die kleiner oder gleich x ist. Die Funktion ist damit das Gegenstück zu ceil. Das Ergebnis wird immer als Gleitkommazahl zurückgegeben.
>>> math.floor(1.9) 1.0 >>> math.floor(-2.3) -3.0
math.fmod(x, y)
Berechnet x Modulo y. Beachten Sie, dass diese Funktion nicht immer dasselbe Ergebnis berechnet wie x % y. So gibt fmod das Ergebnis beispielsweise mit dem Vorzeichen von x zurück, während x%y das Ergebnis mit dem Vorzeichen von y zurückgibt. Generell gilt, dass fmod bei Modulo-Operationen mit Gleitkommazahlen und der Modulo-Operator % bei Operationen mit ganzen Zahlen bevorzugt werden sollte.
>>> math.fmod(7.5, 3.5) 0.5
math.frexp(x)
Extrahiert Mantisse und Exponent der übergebenen Zahl x. Das Ergebnis ist ein Tupel der Form (m, e), wobei m für die Mantisse und e für den Exponenten steht. Mantisse und Exponent sind dabei im Kontext der Formel
x = m · 2ezu sehen.
>>> math.frexp(2.5) (0.625, 2) >>> math.frexp(-7.0e12) (-0.79580786405131221, 43)
math.ldexp(m, e)
Diese Funktion ist das Gegenstück zu frexp. Sie berechnet m · 2e und gibt das Ergebnis als Gleitkommazahl zurück.
>>> math.ldexp(0.625, 2) 2.5
math.modf(x)
Gibt den Nachkomma- und den Vorkommaanteil von x als Gleitkommazahlen in einem Tupel zurück.
>>> math.modf(10.5) (0.5, 10.0)
Exponential- und Logarithmusfunktionen
math.exp(x)
Berechnet ex , wobei e für die Eulersche Zahl steht. Das Ergebnis ist immer eine Gleitkommazahl.
>>> math.exp(1.0) 2.7182818284590451 >>> math.exp(10) 22026.465794806718
Die Funktion ist auch in cmath vorhanden.
math.log(x[, base])
Berechnet den Logarithmus von x zur Basis base. Wenn base nicht angegeben wurde, wird der Logarithmus Naturalis, also der Logarithmus zur Basis e berechnet.
>>> math.log(1) 0.0 >>> math.log(32, 2) 5.0
Die Funktion ist auch in cmath vorhanden.
math.log10(x)
Berechnet den dekadischen Logarithmus von x, also den Logarithmus von x zur Basis 10. Der Aufruf dieser Funktion ist damit äquivalent zu math.log(x, 10).
Die Funktion ist auch in cmath vorhanden.
math.pow(x, y)
Berechnet xy . Es können für x, insbesondere aber auch für y, negative Zahlen oder Gleitkommazahlen übergeben werden. Beachten Sie dabei aber, dass x und y nicht beide negativ sein dürfen, da das Ergebnis sonst eine komplexe Zahl wäre. Diese Funktion ist äquivalent zur Built-in Function pow.
>>> pow(2, 3) 8 >>> pow(100, 0.5) 10.0
math.sqrt(x)
Berechnet die Quadratwurzel von x, wobei x größer oder gleich 0 sein muss. Das Ergebnis ist immer eine Gleitkommazahl.
>>> math.sqrt(100) 10.0
Die Funktion ist auch in cmath vorhanden.
Trigonometrische Funktionen
math.acos(x)
Berechnet den Arkuskosinus von x. Der Arkuskosinus ist die Umkehrfunktion des Kosinus. Der Parameter x muss eine Gleitkommazahl im Zahlenraum von -1 bis 1 sein. Der Rückgabewert von acos ist ebenfalls eine Gleitkommazahl und wird im Bogenmaß angegeben.
>>> math.acos(0.5) 1.0471975511965979
Die Funktion ist auch in cmath vorhanden.
math.asin(x)
Berechnet den Arkussinus von x. Der Arkussinus ist die Umkehrfunktion des Sinus. Der Parameter x muss eine Gleitkommazahl im Zahlenraum von -1 bis 1 sein. Der Rückgabewert von asin ist ebenfalls eine Gleitkommazahl und wird im Bogenmaß angegeben.
>>> math.asin(0.5) 0.52359877559829893
Die Funktion ist auch in cmath vorhanden.
math.atan(x)
Berechnet den Arkustangens von x. Der Arkustangens ist die Umkehrfunktion des Tangens. Der Rückgabewert von atan ist eine Gleitkommazahl, wird im Bogenmaß angegeben und liegt im Bereich von – π / 2 bis + π / 2.
>>> math.atan(0.5) 0.46364760900080609
Die Funktion ist auch in cmath vorhanden.
math.atan2(y, x)
Berechnet atan(y / x). Im Gegensatz zur atan-Funktion können die Vorzeichen der Parameter x und y beachtet und somit der Quadrant des Ergebnisses berechnet werden. Mithilfe der Funktion atan2 lassen sich beispielsweise kartesische Koordinaten in Polarkoordinaten umrechnen.
>>> math.atan2(1, 1) 0.78539816339744828 >>> math.atan2(-1, -1) -2.3561944901923448
math.cos(x)
Berechnet den Kosinus von x. Der Parameter x muss im Bogenmaß angegeben werden.
>>> math.cos(math.pi) -1.0
Die Funktion ist auch in cmath vorhanden.
math.hypot(x, y)
Berechnet die Euklidische Norm des Vektors (x,y). Die Euklidische Norm eines Vektors entspricht der Länge des Vektors und ist definiert als:
Der Funktionsname hypot kommt daher, dass das Ergebnis der Berechnung gleichbedeutend ist mit der Länge der Hypotenuse eines rechtwinkligen Dreiecks mit den Kathetenlängen x und y.
>>> math.hypot(5, 7) 8.6023252670426267
math.sin(x)
Berechnet den Sinus von x. Der Parameter x muss im Bogenmaß angegeben werden.
>>> math.sin(math.pi/2) 1.0
Die Funktion ist auch in cmath vorhanden.
math.tan(x)
Berechnet den Tangens von x. Der Parameter x muss im Bogenmaß angegeben werden.
>>> math.sin(math.pi/2) 1.0
Die Funktion ist auch in cmath vorhanden.
Winkelfunktionen
math.degrees(x)
Rechnet den Winkel x vom Bogenmaß in Grad um. Das Ergebnis ist immer eine Gleitkommazahl und wird nach der Formal 360 x / 2 π berechnet.
>>> math.degrees(math.pi/2) 90.0
math.radians(x)
Rechnet den Winkel x von Grad ins Bogenmaß um. Das Ergebnis ist immer eine Gleitkommazahl und wird nach der Formel 2 π · x / 360 berechnet.
>>> math.radians(180.0) 3.1415926535897931
Hyperbolische Funktionen
math.cosh(x)
Berechnet den Kosinus Hyperbolicus von x. Das Ergebnis ist eine Gleitkommazahl.
>>> math.cosh(1.0) 1.5430806348152437
Die Funktion ist auch in cmath vorhanden.
math.sinh(x)
Berechnet den Sinus Hyperbolicus von x. Das Ergebnis ist eine Gleitkommazahl.
>>> math.sinh(1.0) 1.1752011936438014
Die Funktion ist auch in cmath vorhanden.
math.tanh(x)
Berechnet den Tangens Hyperbolicus von x. Das Ergebnis ist eine Gleitkommazahl.
>>> math.tanh(1.0) 0.76159415595576485
Die Funktion ist auch in cmath vorhanden.




bestellen





