Ce face Math.sinh
Funcțiile hiperbolice se definesc prin exponențiale: sinh x = (ex − e−x) / 2, cosh x = (ex + e−x) / 2 și tanh x = sinh x / cosh x. Spre deosebire de sin și cos, argumentul nu este un unghi.
Apar în fizică și inginerie: forma unui cablu atârnat între doi stâlpi (lănțișorul) este un cosh. tanh returnează mereu o valoare între -1 și 1 și este folosită ca funcție de activare în rețele neuronale.
Parametri
| Parametru | Descriere |
|---|---|
x |
Argumentul (un număr real, nu un unghi). |
Ce returnează
Un double; tanh este între -1 și 1, cosh este ≥ 1.
Exemple
Exemplul 1: Valori și o identitate
Pentru orice x, cosh² x − sinh² x = 1.
public class Main {
public static void main(String[] args) {
double x = 1.5;
System.out.println("sinh = " + Math.sinh(x));
System.out.println("cosh = " + Math.cosh(x));
System.out.println("tanh = " + Math.tanh(x));
double id = Math.cosh(x) * Math.cosh(x) - Math.sinh(x) * Math.sinh(x);
System.out.printf("cosh² - sinh² = %.6f%n", id);
}
}
Rezultat
sinh = 2.1292794550948173
cosh = 2.352409615243247
tanh = 0.9051482536448664
cosh² - sinh² = 1.000000
Exemplul 2: tanh „strivește” valorile între -1 și 1
public class Main {
public static void main(String[] args) {
double[] intrari = {-10, -1, 0, 0.5, 3, 100};
for (double v : intrari) {
System.out.printf("tanh(%.1f) = %.4f%n", v, Math.tanh(v));
}
}
}
Rezultat
tanh(-10.0) = -1.0000
tanh(-1.0) = -0.7616
tanh(0.0) = 0.0000
tanh(0.5) = 0.4621
tanh(3.0) = 0.9951
tanh(100.0) = 1.0000
Greșeli frecvente
- Convertești argumentul în radiani ca la
sin: funcțiile hiperbolice nu primesc unghiuri, conversia nu are sens aici.
Comenzi înrudite
Math.asinh: Inversele funcțiilor hiperbolice (Java 27): din valoarea lui sinh, cosh sau tanh obții argumentul.Math.exp: exp(x) calculează eˣ; expm1(x) calculează eˣ − 1 precis chiar și pentru x foarte apropiat de 0.Math.sin: Funcțiile trigonometrice sinus, cosinus și tangentă; unghiul se dă în radiani, nu în grade.