JavaScript/Objekte/Math/exp
Die Methode exp(x) erwartet als Parameter eine Zahl x.
Das Ergebnis ist die Potenz ex, also die Potenz von x zur Basis der Eulerschen Konstanten e=2.718281828459
(die Ihnen das Math-Objekt als Math.E
bereitstellt).
Diese Funktion steht in allen Browsern zur Verfügung, mit Ausnahme von Android Webview vor Version 4.4, wo das ganze Math-Objekt fehlt.
function Berechnen (zahl) {
zahl = Math.exp(zahl.value);
var elem = document.getElementById('Ausgabe');
elem.innerHTML = 'Der Exponentialwert ist: '+ zahl;
}
Das Beispiel definiert ein Formular mit einem Eingabefeld und einem Button. Nach Eingabe einer Zahl im Eingabefeld und Klick auf den Button wird das Ergebnis ausgegeben. Das Ergebnis ist die Anwendung von exp()
auf den Wert aus dem Eingabefeld.
Infinity
(Zahl ist zu groß) zurück. Ist die Zahl kleiner als -744, liefert die Methode 0 zurück.Genauigkeitsprobleme
Wenn Sie die exp()
Methode auf eine Zahl anwenden, die sehr nahe bei 0 liegt (beispielsweise 1.111111111e-13
), erhalten Sie 1.000000000000111
als Ergebnis. Wenn Ihre weitere Verarbeitung nun so aussieht, dass Sie davon einen Wert subtrahieren müssen, der ebenfalls nahe bei 1 liegt, entsteht das Problem des Signifikanzverlusts. Der wirklich interessante Teil des exp()-Aufrufs hat nur 3 brauchbare Ziffern. Zieht man davon 1 ab, erhält man 1.1102230246251565e-13
, was zum größten Teil Bitrauschen darstellt. Nur die drei ersten Ziffern sind brauchbar.
Um dieses Problem zu addressieren, wurde die Funktion expm1() geschaffen.
Siehe auch
- Math.expm1() für die Funktion ex - 1
- pow(a,x) für die Berechnungen von beliebigen Potenzen ax
- log(x) für die Berechnung der natürlichen Logarithmus, der Umkehrfunktion zu Math.exp()