Math.sinh în Java

Funcțiile hiperbolice: sinus, cosinus și tangentă hiperbolică, definite cu ajutorul lui eˣ.

Sintaxă
static double sinh(double x)
static double cosh(double x)
static double tanh(double x)

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.