std:: tanh (std::complex)
|
Definido en el encabezado
<complex>
|
||
|
template
<
class
T
>
complex < T > tanh ( const complex < T > & z ) ; |
(desde C++11) | |
Calcula la tangente hiperbólica compleja de un valor complejo z .
Contenidos |
Parámetros
| z | - | valor complejo |
Valor de retorno
Si no ocurren errores, se devuelve la tangente hiperbólica compleja de z .
Manejo de errores y valores especiales
Los errores se reportan de manera consistente con math_errhandling .
Si la implementación admite aritmética de punto flotante IEEE,
- std:: tanh ( std:: conj ( z ) ) == std:: conj ( std:: tanh ( z ) ) .
- std:: tanh ( - z ) == - std:: tanh ( z ) .
-
Si
z
es
(+0,+0), el resultado es(+0,+0). -
Si
z
es
(x,+∞)(para cualquier x finita [1] ), el resultado es(NaN,NaN)y se genera FE_INVALID . -
Si
z
es
(x,NaN)(para cualquier x finita [2] ), el resultado es(NaN,NaN)y puede generarse FE_INVALID . -
Si
z
es
(+∞,y)(para cualquier y positiva finita), el resultado es(1,+0). -
Si
z
es
(+∞,+∞), el resultado es(1,±0)(el signo de la parte imaginaria no está especificado). -
Si
z
es
(+∞,NaN), el resultado es(1,±0)(el signo de la parte imaginaria no está especificado). -
Si
z
es
(NaN,+0), el resultado es(NaN,+0). -
Si
z
es
(NaN,y)(para cualquier y distinta de cero), el resultado es(NaN,NaN)y puede generarse FE_INVALID . -
Si
z
es
(NaN,NaN), el resultado es(NaN,NaN).
-
↑
según
C11 DR471
, esto solo se cumple para x distinto de cero. Si
zes(0,∞), el resultado debe ser(0,NaN). -
↑
según
C11 DR471
, esto solo se cumple para x distinto de cero. Si
zes(0,NaN), el resultado debe ser(0,NaN).
Notas
Mathematical definition of hyperbolic tangent is tanh z =|
e
z
-e -z |
|
e
z
+e -z |
La tangente hiperbólica es una función analítica en el plano complejo y no tiene cortes de rama. Es periódica con respecto al componente imaginario, con período πi, y tiene polos de primer orden a lo largo de la línea imaginaria, en coordenadas (0, π(1/2 + n)) . Sin embargo, ninguna representación de punto flotante común puede representar π/2 exactamente, por lo tanto no existe ningún valor del argumento para el cual ocurra un error de polo.
Ejemplo
#include <cmath> #include <complex> #include <iostream> int main() { std::cout << std::fixed; std::complex<double> z(1.0, 0.0); // se comporta como tanh real a lo largo de la línea real std::cout << "tanh" << z << " = " << std::tanh(z) << " (tanh(1) = " << std::tanh(1) << ")\n"; std::complex<double> z2(0.0, 1.0); // se comporta como tangente a lo largo de la línea imaginaria std::cout << "tanh" << z2 << " = " << std::tanh(z2) << " ( tan(1) = " << std::tan(1) << ")\n"; }
Salida:
tanh(1.000000,0.000000) = (0.761594,0.000000) (tanh(1) = 0.761594) tanh(0.000000,1.000000) = (0.000000,1.557408) ( tan(1) = 1.557408)
Véase también
|
calcula el seno hiperbólico de un número complejo (
sinh(z)
)
(plantilla de función) |
|
|
calcula el coseno hiperbólico de un número complejo (
cosh(z)
)
(plantilla de función) |
|
|
(C++11)
|
calcula la tangente hiperbólica de área de un número complejo (
artanh(z)
)
(plantilla de función) |
|
(C++11)
(C++11)
|
calcula la tangente hiperbólica (
tanh(x)
)
(función) |
|
aplica la función
std::tanh
a cada elemento del valarray
(plantilla de función) |
|
|
Documentación C
para
ctanh
|
|