Navigation überspringen

Mathematische Funktionen

Module

In Python sind Erweiterungen wie z.B.  die Mathematischen Funktionen in oder durch sogenannte Module realisiert.

Ein Beispiel:

winkelA=90    #90°
sin(winkelA)

Die Berechnung sin() ist nicht definiert: NameError: name 'sin' is not defined

Wir müssen unser dafür sorgen, dass unser Skript diese Funktion kennt:

from math import sin
winkelA=90    
b=sin(winkelA)
print("Sinus von Winkel A ist sin(", winkelA ,")=" ,b)

#Ausgabe: Sinus von Winkel A ist sin( 90 )= 0.8939966636005579

Wen der berechnete Wert wundert, liegt natürlich richig: das Python-Modul math rechnet mit seinen trigonometrischen Funktionen im Bogenmaß.

Wir können also aus der library von Pathon Module laden. Hierfür verwenden wir das reservierte Wort from gefolgt von dem Modulnamen. Das nächste reservierte Wort import weist den Interpreter an, die nachfolgend genannte Funktion des Moduls zu laden. In unserem Falle hier ist es die Sinus-Funktion. Sollen weitere Funktionen geladen werden, so müssen wir sie explizit nennen.

from math import sin,cos
winkelA=90    
#Umrechnung in Bogenmaß
winkelAInBogenMaß = winkelA * pi/180
b=sin(winkelAInBogenMaß)
e=cos(winkelAInBogenMaß)
print("Sinus von Winkel A ist sin(", winkelA ,"°)=" ,b)
print("Sinus von Winkel A ist cos(", winkelA ,"°)=" ,e)

#Ausgaben:
#Sinus von Winkel A ist sin( 90° )= 1.0
#Sinus von Winkel A ist cos( 90° )= 6.123233995736766e-17

 Wir haben gelernt, dass cos(90°) exakt 0 wird. Python macht hier keinen Fehler! Vielmehr wird die endliche Zahlenauslösung deutlich. 6.123233995736766e-17 bedeutet eine extrem kleine Zahl. Wir können diesen Ausdruck in Potenzschreibweise darstellen:

Diese Darstellung (6.123233995736766e-17) wird Exponentendarstellung genannt.

Wir können auch alle Funktionen eines Moduls komplett laden:

from math import *
winkelA=90    
#Umrechnung in Bogenmaß
winkelAInBogenMaß = winkelA * pi/180
b=sin(winkelAInBogenMaß)
e=cos(winkelAInBogenMaß)
print("Sinus von Winkel A ist sin(", winkelA ,"°)=" ,b)
print("Sinus von Winkel A ist cos(", winkelA ,"°)=" ,e)