exp()
Die Funktion exp() in PHP berechnet den Exponentialwert einer Zahl (e hoch x). Syntax, Rückgabewert und Beispiele.
Die Funktion exp() in PHP gibt e hoch einer gegebenen Zahl zurück — also e^x. Dabei ist e (die Eulersche Zahl, ungefähr 2.71828) die Basis des natürlichen Logarithmus und taucht überall in Wissenschaft und Finanzmathematik auf: beim Zinseszins, beim Bevölkerungswachstum, beim radioaktiven Zerfall und in der Wahrscheinlichkeitsrechnung. Diese Seite behandelt die Syntax, den Rückgabewert, mehrere ausgearbeitete Beispiele, die Beziehung zur inversen Funktion log() sowie häufige Fehlerquellen.
Syntax
exp(float $num): float$num— der Exponent. Jede Zahl (positiv, negativ, null oder ein Float).- Rückgabewert — ein
float: der Wert vonehoch$num.
Da e irrational ist, ist das Ergebnis fast immer eine nicht-abbrechende Dezimalzahl. PHP gibt sie mit der Genauigkeit aus, die durch die precision-Direktive in php.ini festgelegt ist (standardmäßig 14 signifikante Stellen).
Einfaches Beispiel
Wir übergeben 2 an exp(), sodass e² berechnet wird. Das Ergebnis 7.3890560989307 entspricht 2.71828... multipliziert mit sich selbst.
Wichtige Referenzwerte
Einige Eingaben lohnt es sich zu merken, da sie zeigen, was die Funktion tut:
<?php
echo exp(0), "\n"; // 1 (anything^0 is 1)
echo exp(1), "\n"; // 2.718281828459 (this IS e, same as the M_E constant)
echo exp(-1), "\n"; // 0.36787944117144 (e^-1 = 1/e)
echo exp(0.5), "\n";// 1.6487212707001 (the square root of e)
?>exp(0)ergibt1, da jede Basis hoch0gleich1ist.exp(1)entspricht der eingebauten PHP-KonstanteM_E. Sie könnenM_Edirekt verwenden, wenn Sie nur den Wert von e benötigen und ihn nicht neu berechnen müssen.- Ein negativer Exponent ergibt einen Wert zwischen
0und1(e^-x = 1/e^x), was der Grundlage für die Modellierung des exponentiellen Zerfalls entspricht.
exp() ist die Umkehrfunktion von log()
Der natürliche Logarithmus, PHPs log()-Funktion, macht exp() rückgängig und umgekehrt. Die Komposition beider Funktionen liefert die ursprüngliche Zahl zurück:
<?php
$x = 5;
echo log(exp($x)), "\n"; // 5
echo exp(log($x)), "\n"; // 5
?>Diese Beziehung ist der Grund, warum exp() immer dann auftaucht, wenn ein Modell mit natürlichen Logarithmen ausgedrückt ist und Sie zurück auf eine normale Skala konvertieren müssen.
Praxisbeispiel: stetige Verzinsung
Ein klassischer Anwendungsfall von exp() in der realen Welt ist die Formel für stetige Verzinsung, A = P · e^(r·t):
<?php
$principal = 1000; // starting amount
$rate = 0.05; // 5% annual rate
$years = 10;
$amount = $principal * exp($rate * $years);
echo round($amount, 2); // 1648.72
?>Nach 10 Jahren wachsen 1.000 $ bei stetiger Verzinsung von 5 % auf etwa 1.648,72 $.
exp() vs. pow()
Es ist leicht, exp() mit pow() zu verwechseln:
exp($x)verwendet immereals Basis — es entsprichtpow(M_E, $x).pow($base, $exp)ermöglicht die Wahl einer beliebigen Basis, z. B.pow(2, 10)für2¹⁰.
exp(3) und pow(M_E, 3) liefern daher dasselbe Ergebnis; verwenden Sie pow(), wenn die Basis etwas anderes als e ist.
Häufige Fehlerquellen
- Keine Strings mit Einheiten übergeben.
exp("2 apples")wird zuexp(2)umgewandelt (mit einer Warnung in modernem PHP). Übergeben Sie immer einen sauberen numerischen Wert. - Große Eingaben führen zu
INF.exp(710)überschreitet den Wertebereich eines PHP-Floats und gibtINFzurück. Sichern Sie sehr große Exponenten ab, wenn die Eingabe vom Benutzer stammt. - Die Anzeigegenauigkeit bedeutet keinen Präzisionsverlust. Der vollständige
float-Wert wird intern gespeichert; nur der ausgegebene String wird abgeschnitten. Verwenden Sieprintf()odernumber_format(), um die Anzahl der angezeigten Stellen zu steuern.
Fazit
exp() gibt e^x zurück und ist der Grundbaustein für alle Berechnungen mit natürlichen Exponentialfunktionen in PHP — Wachstum, Zerfall und stetige Verzinsung. Denken Sie daran, dass sie die Umkehrfunktion von log() ist, dass exp(1) der Konstante M_E entspricht, und dass Sie pow() verwenden sollten, wenn die Basis nicht e ist. Für inverse Quadratwurzel-Operationen siehe auch sqrt().