CodeGym /Java Blog /Random-IT /Metodo Math.exp() in Java
John Squirrels
Livello 41
San Francisco

Metodo Math.exp() in Java

Pubblicato nel gruppo Random-IT
La classe Math contiene metodi per lavorare con funzioni matematiche. In questo articolo parleremo del metodo Math.exp() in Java. Restituisce il numero e elevato alla potenza di un valore double.

Che cos'è una funzione esponenziale: una brevissima introduzione alla matematica

Nota: questa sezione spiega la matematica alla base del metodo Math.exp() . Se lo sai già, o vuoi semplicemente usare il metodo senza capirne l'essenza, sentiti libero di passare al punto successivo. L'esponente è la funzione y = e x , dove e è un complicato numero matematico che è all'incirca 2,718281828459045. Questo numero è importante quanto il famoso numero pi, ma è conosciuto principalmente da matematici, programmatori e persone che lavorano con le statistiche. A proposito, ha un nome: il numero di Eulero. Inoltre e è la base del logaritmo naturale. Ecco il grafico della funzione esponenziale: Metodo Math.exp() in Java - 1I processi che obbediscono alla legge esponenziale hanno una proprietà comune: per lo stesso intervallo di tempo, i loro parametri cambiano lo stesso numero di volte. Ad esempio, il raffreddamento di un liquido: maggiore è la differenza di temperatura tra aria e liquido, più velocemente si raffredda. Più grande diventa la palla di neve che rotola giù dalla montagna, più velocemente rotola giù.

Metodo Math.exp() in Java

Ora torniamo a Java. Il metodo double exp(double x) della classe Math calcola il valore della funzione esponente nel punto x , in altre parole restituisce il numero e elevato a potenza di x . Più precisamente restituisce un valore approssimato con una certa precisione. Restituisce il numero di Eulero e elevato alla potenza di un valore double. Cioè, Math.exp(2.0) = e 2.0 (all'incirca è 7.34) Ecco una dichiarazione del metodo:

double exp(double x)
Dove x è il grado per elevare il numero e . Facciamo un esempio.

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));
   }
}
L'uscita è:
funzione esponenziale in 2 = 7.38905609893065 funzione esponenziale in 0.5 = 1.6487212707001282 funzione esponenziale in 1.0 = 2.718281828459045

Alcuni casi speciali

In matematica ci sono concetti di forma indeterminata, così come infinito positivo e negativo. Un numero positivo diviso per 0,0 dà un infinito positivo e un numero negativo dà un infinito negativo. Puoi ottenere una forma indeterminata in diversi modi. Ad esempio, se provi a dividere zero per zero o da infinito a infinito. In Java ci sono costanti speciali della classe Double come Double.NaN (forma un po' indeterminata), Double.POSITIVE_INFINITY e Double.NEGATIVE_INFINITY . Il metodo Math.exp() si comporta in modo specifico di fronte a questi tre concetti:
  • Se l'argomento è NaN, anche il risultato è NaN.
  • Se l'argomento è infinito positivo, anche il risultato è infinito positivo.
  • Se l'argomento è infinito negativo, il risultato è zero positivo.
Ecco un esempio di codice per casi speciali:

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));
}
}
L'uscita è:
Infinito 0,0 NaN
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION