tanh()
Aprenda a usar a função tanh() no PHP para calcular a tangente hiperbólica de um número.
A função PHP tanh() retorna a tangente hiperbólica de um número. Ao contrário da tan() comum, que trabalha com ângulos em um círculo, tanh() trabalha com ângulos hiperbólicos e sempre retorna um valor estritamente entre -1 e 1. Essa saída suave em forma de S e delimitada é a razão pela qual ela aparece em redes neurais, física e processamento de sinais.
Esta página aborda a sintaxe, a matemática por trás dela, seu domínio e contradomínio, casos especiais e como ela se relaciona com as demais funções hiperbólicas.
Sintaxe
tanh(float $num): float$num— o valor (em radianos, interpretado como ângulo hiperbólico) cuja tangente hiperbólica você deseja.- Valor de retorno — a tangente hiperbólica de
$num, um float no intervalo aberto(-1, 1).
A matemática: o que tanh realmente calcula
A tangente hiperbólica é a razão entre o seno hiperbólico e o cosseno hiperbólico:
tanh(x) = sinh(x) / cosh(x) = (e^x - e^-x) / (e^x + e^-x)Essa definição confere à tanh() algumas propriedades que vale a pena lembrar:
tanh(0)é exatamente0.- É uma função ímpar:
tanh(-x) == -tanh(x). - À medida que
xcresce, a saída se aproxima de1; à medida quexdiminui, ela se aproxima de-1— mas nunca os alcança para nenhuma entrada finita.
Exemplo básico
Isso imprime 0.46211715726001. Passamos 0.5 para tanh() e exibimos o float retornado.
Domínio e contradomínio
O domínio de tanh() é todo número real — você pode passar qualquer float sem erro. O contradomínio é o intervalo aberto (-1, 1). A tabela abaixo mostra como a saída se satura em direção às bordas:
<?php
foreach ([-INF, -2, -1, 0, 1, 2, INF] as $x) {
printf("tanh(%s) = %s\n", $x, tanh($x));
}
?>Saída:
tanh(-INF) = -1
tanh(-2) = -0.96402758007582
tanh(-1) = -0.76159415595576
tanh(0) = 0
tanh(1) = 0.76159415595576
tanh(2) = 0.96402758007582
tanh(INF) = 1Observe a simetria em torno de 0 (a propriedade de função ímpar) e como o resultado se estabiliza rapidamente: em x = 2 ele já ultrapassa 0.96.
Um uso prático: uma função de compressão
Como tanh() mapeia qualquer número para (-1, 1), ela é uma função de ativação comum que "comprime" uma pontuação ilimitada em um valor delimitado e com sinal:
<?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));
}
?>Saída:
-5.0 -> -0.9999
-1.0 -> -0.7616
0.0 -> +0.0000
1.0 -> +0.7616
5.0 -> +0.9999Entradas positivas grandes ficam próximas de +1, entradas negativas grandes próximas de -1, e 0 permanece em 0 — exatamente o comportamento esperado de um normalizador centrado e delimitado.
Funções relacionadas
tanh() é uma das funções matemáticas hiperbólicas do PHP. Com frequência, elas são usadas em conjunto:
sinh()— seno hiperbólico, o numerador na fórmula acima.cosh()— cosseno hiperbólico, o denominador.atanh()— a inversa, arco tangente hiperbólico (recebe um valor em(-1, 1)e retorna o número original).tan()— a tangente ordinária (circular), para ângulos em vez de ângulos hiperbólicos.
Conclusão
tanh() retorna a tangente hiperbólica de um número: uma função suave e ímpar cuja saída está sempre entre -1 e 1. Passe qualquer número real e obtenha um resultado delimitado que se satura em direção a ±1 para grandes magnitudes. Isso a torna ideal para normalizar valores ilimitados, e ela se combina com sinh(), cosh() e sua inversa atanh() para cálculos hiperbólicos.