W3docs

tanh()

La función tanh() en PHP calcula la tangente hiperbólica de un número, devolviendo siempre un valor entre -1 y 1.

La función tanh() de PHP devuelve la tangente hiperbólica de un número. A diferencia de la función ordinaria tan(), que trabaja con ángulos en un círculo, tanh() trabaja con ángulos hiperbólicos y siempre devuelve un valor estrictamente entre -1 y 1. Esa salida acotada y suave en forma de S es la razón por la que aparece en redes neuronales, física y procesamiento de señales.

Esta página cubre la sintaxis, las matemáticas detrás de ella, su dominio y rango, casos límite y cómo se relaciona con las otras funciones hiperbólicas.

Sintaxis

tanh(float $num): float
  • $num — el valor (en radianes, interpretado como ángulo hiperbólico) cuya tangente hiperbólica se desea obtener.
  • Valor de retorno — la tangente hiperbólica de $num, un float en el intervalo abierto (-1, 1).

Las matemáticas: qué calcula realmente tanh

La tangente hiperbólica es la razón entre el seno hiperbólico y el coseno hiperbólico:

tanh(x) = sinh(x) / cosh(x) = (e^x - e^-x) / (e^x + e^-x)

Esa definición le otorga a tanh() algunas propiedades importantes a recordar:

  • tanh(0) es exactamente 0.
  • Es una función impar: tanh(-x) == -tanh(x).
  • A medida que x crece, la salida se aproxima a 1; a medida que x decrece, se aproxima a -1 — pero nunca los alcanza para ninguna entrada finita.

Ejemplo básico

php— editable, runs on the server

Esto imprime 0.46211715726001. Pasamos 0.5 a tanh() y mostramos el float devuelto.

Dominio y rango

El dominio de tanh() comprende todos los números reales — puedes pasar cualquier float sin error. El rango es el intervalo abierto (-1, 1). La tabla a continuación muestra cómo la salida se satura hacia los extremos:

<?php
foreach ([-INF, -2, -1, 0, 1, 2, INF] as $x) {
    printf("tanh(%s) = %s\n", $x, tanh($x));
}
?>

Salida:

tanh(-INF) = -1
tanh(-2) = -0.96402758007582
tanh(-1) = -0.76159415595576
tanh(0) = 0
tanh(1) = 0.76159415595576
tanh(2) = 0.96402758007582
tanh(INF) = 1

Observa la simetría alrededor de 0 (la propiedad de función impar) y lo rápido que el resultado se aplana: con x = 2 ya supera 0.96.

Un uso práctico: función de compresión

Debido a que tanh() mapea cualquier número en (-1, 1), es una función de activación común que "comprime" una puntuación sin límites en un valor acotado y con signo:

<?php
// Map raw scores to a value between -1 and 1
$scores = [-5.0, -1.0, 0.0, 1.0, 5.0];

foreach ($scores as $score) {
    printf("%5.1f -> %+.4f\n", $score, tanh($score));
}
?>

Salida:

 -5.0 -> -0.9999
 -1.0 -> -0.7616
  0.0 -> +0.0000
  1.0 -> +0.7616
  5.0 -> +0.9999

Las entradas positivas grandes se acercan a +1, las negativas grandes se acercan a -1, y 0 permanece en 0 — exactamente el comportamiento que se espera de un normalizador centrado y acotado.

Funciones relacionadas

tanh() es una de las funciones matemáticas hiperbólicas de PHP. Con frecuencia se usan juntas:

  • sinh() — seno hiperbólico, el numerador en la fórmula anterior.
  • cosh() — coseno hiperbólico, el denominador.
  • atanh() — la inversa, arcotangente hiperbólica (toma un valor en (-1, 1) y devuelve el número original).
  • tan() — la tangente ordinaria (circular), para ángulos en lugar de ángulos hiperbólicos.

Conclusión

tanh() devuelve la tangente hiperbólica de un número: una función suave e impar cuya salida siempre está entre -1 y 1. Pasa cualquier número real y obtendrás un resultado acotado que se satura hacia ±1 para magnitudes grandes. Eso la convierte en una opción natural para normalizar valores sin límites, y se combina con sinh(), cosh() y su inversa atanh() para matemáticas hiperbólicas.

Práctica

Práctica
¿Qué hace la función 'tanh' de PHP?
¿Qué hace la función 'tanh' de PHP?
Was this page helpful?