Das Math-Modul in Python: 6 Häufige Berechnungen, die Sie durchführen können
Sprunglinks
- Konstanten
- Trigonometrische Funktionen
- Logarithmus- und Exponentialfunktionen
- Numerische Berechnungen
- Summen und Produkte
- Kombinatorische Funktionen
Es ist ein häufiger Witz, dass Python im interaktiven Modus einen großartigen Taschenrechner darstellt. Mit dem integrierten Math-Modul, das viele der gleichen mathematischen Funktionen enthält, die man auf einem tragbaren wissenschaftlichen oder grafischen Taschenrechner finden würde, kann man daraus einen noch besseren machen.
Konstanten
Eine nützliche Funktion des Python-Math-Moduls ist der schnelle Zugriff auf mathematische Konstanten. Sie können Python als wissenschaftlichen Taschenrechner effektiver nutzen, indem Sie diese gleichen Funktionen mit numerischen Näherungswerten verwenden. Die bekannteste könnte Pi (3,14159 usw.) sein. Sie müssen sich nicht alle Ziffern merken. Python erledigt das für Sie.
Rufen wir Pi auf, um die Fläche eines Kreises zu berechnen. Angenommen, wir hätten eine 12-Zoll-Pizza und wollten wissen, wie viel Pizza wir tatsächlich in Bezug auf die Fläche bekommen.
Zuerst werden wir die Mathebibliothek importieren:
import math
Wir werden den Radius in einer Variable speichern. Der Radius ist die Hälfte des Durchmessers eines Kreises, also hat eine 12-Zoll-Pizza einen 6-Zoll-Radius.
radius = 6
Die Formel für die Fläche eines Kreises lautet Pi mal dem Quadrat des Radius. In Python wäre das:
area_circ = math.pi * radius**2
Das Doppel-Sternchen ist die Art und Weise, wie man Exponenten in Python darstellt.
Das Ergebnis ist, dass eine runde 12-Zoll-Pizza etwa 113 Quadratzoll tatsächlicher Pizza enthält. Deshalb sollte man laut NPR eine größere Pizza bestellen.
Eine weitere häufig verwendete Konstante, die Sie mit Python verwenden können, ist e oder 2,718281828459045. Dies ist die Basis des natürlichen Logarithmus und wird häufig für exponentielles Wachstum, wie zum Beispiel Zinseszinsen, verwendet.
Angenommen, Sie möchten 5.000 $investieren, die kontinuierlich zu einem Zinssatz von zwei Prozent über 5 Jahre verzinst werden. Die Formel lautet: das Kapital multipliziert mit e hoch dem Zinssatz multipliziert mit der Zeit.
Hier ist es in Python:
principal = 5000
rate = .02
time = 5
compound_interest = principal * math.e**(rate * time)
compound_interest
Am Ende von fünf Jahren hätten Sie ungefähr 5.525 $zur Verfügung. Diese mathematischen Funktionen zeigen ihre Stärke im interaktiven Modus, weshalb Python Ihre Taschenrechner-App ersetzen kann. Wenn Sie diese Funktionen in einem Skript verwenden, benötigen Sie eine print-Anweisung, zum Beispiel:
print(math.pi)
Sie müssen dies im interaktiven Modus nicht tun, da Sie einfach eine Anweisung an der Eingabeaufforderung eingeben können, um deren Wert zu erhalten. Dies wird im Rest dieses Artikels aus Gründen der Einfachheit vorausgesetzt.
Trigonometrische Funktionen
Trigonometrische Funktionen sind eine Hauptanwendung für wissenschaftliche Taschenrechner. Sie lassen sich einfach mit der Mathematikbibliothek durchführen. Die trigonometrischen Funktionen erwarten Radianten anstelle von Grad, mit denen Sie möglicherweise vertrauter sind, aber es ist einfach, mit den integrierten Funktionen für Radianten und Grad zwischen beiden zu konvertieren.
Lassen Sie uns 45 Grad in Radiant umrechnen:
math.radians(45)
Das Ergebnis ist 0,7853981633974483
In einer interaktiven Sitzung können wir dies mithilfe des Unterstrichzeichens (_) wieder in Grad umrechnen, das den Wert des zuletzt korrekt ausgewerteten Ergebnisses enthält.
math.degrees(_)
Das wird uns 45 zurückgeben.
Lass uns unsere Bogenmaßangabe in einer Variablen namens "Theta" speichern, der griechischen Variablen, die üblicherweise verwendet wird, um Winkelmaße in Bogenmaß darzustellen.
theta = math.radians(45)Betrachten wir den Sinus:
math.sin(theta)
Wir können auch den Kosinus nehmen
math.cos(theta)
Und die Tangente:
math.tan(theta)
Sie können die ursprünglichen Werte mit den inversen Werten oder Bogenwerten zurückerhalten. Zum Beispiel, um den Arkussinus zu berechnen:
sine = math.sine(theta)
math.asin(sine)
Vergleiche den Arkussinus mit dem ursprünglichen Wert des Winkels. Dasselbe können wir mit den anderen trigonometrischen Verhältnissen und ihren inversen Funktionen tun.
cosine = math.cos(theta)
math.acos(cosine)
tangent = math.tan(theta)
math.atan(tangent)
Logarithmus- und Exponentialfunktionen
Operationen mit Exponenten und Logarithmen sind ein weiterer wichtiger Teil der Mathematik.
Wie zuvor gesehen, hebt das doppelte Sternchen (**) eine Zahl auf eine Potenz.
2**2
9**2
Sie können auch die Funktion pow verwenden, um eine Zahl potenziert darzustellen. Zum Beispiel, um die Zahl 9 zu quadrieren:
math.pow(9,2)
Dies wird die Antwort 81 ergeben
Um die Inverse zu erhalten, können Sie einen Logarithmus verwenden. Die Log-Funktion verwendet standardmäßig e als Basis, die Konstante, die wir zuvor gesehen haben. Sie ist auch als Napier-Logarithmus bekannt, nach John Napier, der den Logarithmus entdeckte.
Lass uns e hoch 5 nehmen.
math.e**5Dies wird uns 148,41315910257657 ergeben
Wir können dies mit der Log-Funktion umkehren:
math.log(148.41315910257657)
Das bringt uns wieder auf 5.
Das funktioniert auch mit anderen Basen.
9**2
math.log(81,9)Eine gute Möglichkeit herauszufinden, wie viele Bits benötigt werden, um eine Zahl zu speichern, besteht darin, einen Logarithmus zur Basis 2 zu verwenden:
math.log(2048,2)
Das ergibt uns 11. Es gibt auch eine log2-Funktion als Abkürzung:
math.log2(2048)
Es gibt auch eine Abkürzung für den gewöhnlichen Logarithmus oder Briggs'schen Logarithmus, benannt nach Henry Briggs, der den Logarithmus zur Basis 10 populär gemacht hat. Bevor Taschenrechner weit verbreitet waren, wurden Tabellen dieser Logarithmen in Büchern veröffentlicht, um Multiplikation und Division zu beschleunigen. In alten Mathematik-Lehrbüchern und als eigenständige Bände konnte man sowohl Tabellen natürlicher als auch gewöhnlicher Logarithmen finden. Sie nutzten eine Eigenschaft der Logarithmen, dass Addition und Subtraktion von Logarithmen dasselbe ist wie Multiplikation und Division dieser Zahlen (auch Rechenschieber arbeiteten nach diesem Prinzip).
Lass uns 23 und 42 mithilfe von Logarithmen multiplizieren
math.log10(23) + math.log10(42)
Um das Produkt zu finden, erheben Sie 10 zur Potenz der Summe der beiden Logarithmen.
10**_
Das funktioniert auch bei natürlichen Logarithmen:
math.log(23) + math.log(42)
math.e**_
Die Eigenschaft gilt auch für die Subtraktion:
math.log10(966) - math.log10(42)
Das ergibt 23. So wie Logarithmen die Multiplikation und Division erheblich vereinfacht haben, hat die Einführung von Taschenrechnern dies noch weiter vereinfacht, wodurch Logarithmen für die meisten Nichtwissenschaftler weitgehend überflüssig geworden sind. Sie sind jedoch in einigen Bereichen immer noch nützlich, zum Beispiel beim Umgang mit Exponentialfunktionen und um sie linear erscheinen zu lassen, sodass lineare Regression darauf angewendet werden kann.
Numerische Berechnungen
Es gibt verschiedene weitere numerische Berechnungen, die Sie mit dem Python-Mathematikmodul durchführen können.
Sie können die Quadratwurzel einer Zahl mit der sqrt-Funktion berechnen:
math.sqrt(81)Das wird dir natürlich 9 ergeben. Du kannst auch die Kubikwurzel einer Zahl mit cbrt ziehen:
math.cbrt(81)
Dies gibt uns eine dezimale Annäherung von 4,326748710922225.
Die pow-Funktion hebt eine Zahl auf eine Potenz, ähnlich wie der **-Operator.
math.pow(3,2)
Dies wird 3 quadrieren, um 9 zu ergeben. Man kann auch n-te Wurzeln ziehen, indem man eine Potenz auf einen Bruchwert erhebt.
math.pow(3,1/2)
Dies wird auch die Wirkung haben, 3 zu quadrieren. Diese Eigenschaft ist nützlich, um Wurzeln höher als 3 zu ziehen. Die 8. Wurzel von 1024 zu ziehen.
math.pow(1024,1/8)
Dies liefert eine weitere dezimale Näherung. Wenn Sie eine exakte Antwort möchten, benötigen Sie ein Computeralgebrasystem wie die SymPy-Bibliothek.
Einige weitere nützliche Funktionen sind die Aufrundungs- und Abrundungsfunktionen. Die Aufrundungsfunktion rundet eine Zahl auf die nächste ganze Zahl auf, während die Abrundungsfunktion sie auf die niedrigste ganze Zahl abrundet.
math.ceiling(42.5)
Dies wird 43 zurückgeben. Lassen Sie uns dies auf dem Boden ausprobieren:
math.floor(42.5)
Dies wird 42 zurückgeben.
Dies ist ähnlich dem/(doppelter Schrägstrich)-Operator, der in Python eingebaut ist und eine Ganzzahldivision ohne Rest durchführt (und der früher auch das Standard-Divisionsverhalten in Python war).
Die Restfunktion gibt auch den Rest ihrer Argumente zurück.
Zum Beispiel, um den Rest von 5 geteilt durch 4 zurückzugeben:
math.remainder(5,4)
Um den Dezimalteil vollständig zu entfernen, verwenden Sie die Funktion trunc.
math.trunc(42.5)
Dies wird 42 zurückgeben.
Summen und Produkte
Um die Summe der Elemente in einem Array oder Tupel zurückzugeben, verwenden Sie die Funktion fsum:
math.fsum([2.5,4,5])Das ergibt 11,5.
Um das Produkt der Zahlen in einem Tupel oder Array zu berechnen, verwenden Sie die Funktion prod:
math.prod([2.5,4,5]
Dies wird 50 zurückgeben.
Kombinatorische Funktionen
Kombinatorische Funktionen sind nützlich, um Dinge schnell zu zählen, und kommen häufig in der Wahrscheinlichkeitstheorie und der diskreten Mathematik vor.
Eine Fakultät, dargestellt durch ein Ausrufezeichen (!), ist eine Zahl * diese Zahl minus 1, multipliziert mit der Zahl minus 1. Die Fakultät von 0 ist 1.
Zum Beispiel ist 5 Fakultät oder 5! gleich 5 * 4 * 3 * 2 * 1.
Um 5! zu berechnen, verwenden Sie die Fakultätsfunktion:
math.factorial(5)Permutationen sind eine Methode, um Kombinationen zu zählen, wenn eine bestimmte Reihenfolge erforderlich ist. Angenommen, Sie möchten acht Bücher in einer bestimmten Reihenfolge von drei Büchern auf einem Regal anordnen. Sie würden die Permut-Funktion verwenden:
math.perm(8,3)
Dies ergibt 336.
Kombinationen sind ähnlich, werden jedoch verwendet, wenn die Reihenfolge keine Rolle spielt. Um die Möglichkeiten zu zählen, wie Sie 5 Karten aus einem gut gemischten 52-Karten-Deck ziehen können, können Sie die Kombinationsfunktion (comb) verwenden.
math.comb(52,5)
Dies ergibt über 2 Millionen mögliche Kartenkombinationen, was eine Menge Wege ist, beim Poker zu verlieren.
Die Python-Mathematik-Bibliothek hat viele Funktionen, die Ihre Berechnungen einfacher und unterhaltsamer machen. Es ist nicht überraschend, dass die Sprache beliebt ist, selbst als aufgebohrter Taschenrechner.





