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: I 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.
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
GO TO FULL VERSION