Ce face Math.asinh
Math.asinh(x) returnează valoarea y pentru care sinh(y) = x; merge pentru orice număr. Math.acosh(x) este inversa lui cosh și cere x ≥ 1 (rezultatul este ≥ 0). Math.atanh(x) este inversa lui tanh și cere x strict între -1 și 1; la ±1 rezultatul este ±Infinity.
Metodele au fost adăugate abia în Java 27. Înainte se calculau cu formule ca Math.log(x + Math.sqrt(x * x + 1)) pentru asinh, care pierd precizie pentru unele valori. În afara domeniului, rezultatul este NaN.
Parametri
| Parametru | Descriere |
|---|---|
x |
Valoarea funcției hiperbolice. |
Ce returnează
Un double; NaN în afara domeniului.
Exemple
Exemplul 1: Dus-întors prin funcțiile hiperbolice
public class Main {
public static void main(String[] args) {
double x = 0.75;
System.out.println(Math.asinh(Math.sinh(x)));
System.out.println(Math.acosh(Math.cosh(x)));
System.out.println(Math.atanh(Math.tanh(x)));
}
}
Rezultat
0.75
0.75
0.75
Exemplul 2: Domeniul de definiție
public class Main {
public static void main(String[] args) {
System.out.println(Math.asinh(-2));
System.out.println(Math.acosh(1));
System.out.println(Math.acosh(0.5));
System.out.println(Math.atanh(1));
System.out.println(Math.atanh(1.5));
}
}
Rezultat
-1.4436354751788103
0.0
NaN
Infinity
NaN
Greșeli frecvente
- Folosești aceste metode într-un proiect care trebuie să compileze și cu Java 21 sau 25: acolo nu există. Ai nevoie de JDK 27 sau de formulele cu
logșisqrt. - Dai lui
acosho valoare sub 1 și primeștiNaN.
Comenzi înrudite
Math.sinh: Funcțiile hiperbolice: sinus, cosinus și tangentă hiperbolică, definite cu ajutorul lui eˣ.Math.log: log() dă logaritmul natural (baza e), log10() logaritmul în baza 10, iar log1p(x) calculează precis ln(1 + x).Math.asin: Funcțiile trigonometrice inverse: din valoarea unui sinus, cosinus sau tangente obții unghiul, în radiani.