CodeGym /Java Blog /Willekeurig /Math.exp()-methode in Java
John Squirrels
Niveau 41
San Francisco

Math.exp()-methode in Java

Gepubliceerd in de groep Willekeurig
De klasse Math bevat methoden om met wiskundige functies te werken. In dit artikel gaan we het hebben over de methode Math.exp() in Java. Het retourneert het getal e verheven tot de macht van een dubbele waarde.

Wat is een exponentiële functie: een zeer korte wiskundige inleiding

Opmerking: in dit gedeelte wordt de wiskunde achter de methode Math.exp() uitgelegd . Als je dit al weet, of gewoon de methode wilt gebruiken zonder de essentie te begrijpen, ga dan gerust verder met het volgende punt. De exponent is de functie y = e x , waarbij e een lastig wiskundig getal is dat ruwweg 2,718281828459045 is. Dit getal is net zo belangrijk als het beroemde pi-getal, maar het is vooral bekend bij wiskundigen, programmeurs en mensen die met statistiek werken. Het heeft trouwens een naam: het nummer van Euler. Ook e is het grondtal van de natuurlijke logaritme. Hier is de exponentiële functiegrafiek: Methode Math.exp() in Java - 1De processen die aan de exponentiële wet voldoen, hebben één gemeenschappelijke eigenschap: voor hetzelfde tijdsinterval veranderen hun parameters hetzelfde aantal keren. Bijvoorbeeld het koelen van een vloeistof: hoe groter het temperatuurverschil tussen lucht en vloeistof, hoe sneller het afkoelt. Hoe groter de sneeuwbal die van de berg rolt, hoe sneller hij naar beneden rolt.

Math.exp()-methode in Java

Laten we nu teruggaan naar Java. De methode double exp(double x) van de klasse Math berekent de waarde van de exponentfunctie in het punt x , met andere woorden, het geeft het getal e terug tot de macht van x . Meer precies, het retourneert een geschatte waarde met een bepaalde precisie. Retourneert het getal van Euler e verheven tot de macht van een dubbele waarde. Dat wil zeggen, Math.exp(2.0) = e 2.0 (ongeveer 7.34) Hier is een verklaring van de methode:

double exp(double x)
Waarbij x de graad is om het getal e te verhogen . Laten we een voorbeeld geven.

public class ExpExample {
   public static void main(String[] args) {
       int x1 = 2;
       double x2 = 0.5;
       double x3 = 1;
       System.out.println("exponential function in  " + x1 + " = " + Math.exp(x1));
       System.out.println("exponential function in  " + x2 + " = " + Math.exp(x2));
       System.out.println("exponential function in  " + x3 + " = " + Math.exp(x3));
   }
}
De uitvoer is:
exponentiële functie in 2 = 7,38905609893065 exponentiële functie in 0,5 = 1,6487212707001282 exponentiële functie in 1,0 = 2,718281828459045

Enkele speciale gevallen

In de wiskunde zijn er concepten van onbepaalde vorm, evenals positieve en negatieve oneindigheid. Een positief getal gedeeld door 0,0 geeft positieve oneindigheid en een negatief getal geeft negatieve oneindigheid. U kunt op verschillende manieren een onbepaalde vorm krijgen. Als u bijvoorbeeld nul door nul of oneindig door oneindig probeert te delen. In Java zijn er speciale constanten uit de klasse Double zoals Double.NaN (enigszins onbepaalde vorm), Double.POSITIVE_INFINITY en Double.NEGATIVE_INFINITY . De methode Math.exp() gedraagt ​​zich op een specifieke manier bij deze drie concepten:
  • Als het argument NaN is, is het resultaat ook NaN.
  • Als het argument positief oneindig is, dan is het resultaat ook positief oneindig.
  • Als het argument negatief oneindig is, dan is het resultaat positief nul.
Hier is een codevoorbeeld voor speciale gevallen:

public class ExpSpecialCases {

   public static void main(String[] args) {

   double positiveInfinity = Double.POSITIVE_INFINITY;
   double negativeInfinity = Double.NEGATIVE_INFINITY;
   double nan = Double.NaN;

   //The argument is positive infinity, the output is positive infinity
       System.out.println(Math.exp(positiveInfinity));

   //The argument is negative infinity, the output is zero
       System.out.println(Math.exp(negativeInfinity));

   //The argument is NaN, the output is NaN
       System.out.println(Math.exp(nan));
}
}
De uitvoer is:
Oneindigheid 0,0 NaN
Opmerkingen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION