std:: acos (std::complex)
|
Definido en el encabezado
<complex>
|
||
|
template
<
class
T
>
complex < T > acos ( const complex < T > & z ) ; |
(desde C++11) | |
Calcula el arco coseno complejo de un valor complejo z . Existen cortes de rama fuera del intervalo [−1, +1] a lo largo del eje real.
Contenidos |
Parámetros
| z | - | valor complejo |
Valor de retorno
Si no ocurren errores, se devuelve el arcocoseno complejo de z , en el rango de una franja no acotada a lo largo del eje imaginario y en el intervalo [0, +π] a lo largo del eje real.
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:: acos ( std:: conj ( z ) ) == std:: conj ( std:: acos ( z ) )
-
Si
z
es
(±0,+0), el resultado es(π/2,-0) -
Si
z
es
(±0,NaN), el resultado es(π/2,NaN) -
Si
z
es
(x,+∞)(para cualquier x finito), el resultado es(π/2,-∞) -
Si
z
es
(x,NaN)(para cualquier x finito distinto de cero), el resultado es(NaN,NaN)y puede generarse FE_INVALID . -
Si
z
es
(-∞,y)(para cualquier y finito positivo), el resultado es(π,-∞) -
Si
z
es
(+∞,y)(para cualquier y finito positivo), el resultado es(+0,-∞) -
Si
z
es
(-∞,+∞), el resultado es(3π/4,-∞) -
Si
z
es
(+∞,+∞), el resultado es(π/4,-∞) -
Si
z
es
(±∞,NaN), el resultado es(NaN,±∞)(el signo de la parte imaginaria no está especificado) -
Si
z
es
(NaN,y)(para cualquier y finito), el resultado es(NaN,NaN)y puede generarse FE_INVALID -
Si
z
es
(NaN,+∞), el resultado es(NaN,-∞) -
Si
z
es
(NaN,NaN), el resultado es(NaN,NaN)
Notas
El coseno inverso (o arco coseno) es una función multivaluada y requiere un corte de rama en el plano complejo. El corte de rama se coloca convencionalmente en los segmentos de línea (-∞,-1) y (1,∞) del eje real.
The mathematical definition of the principal value of arc cosine is acos z =| 1 |
| 2 |
) .
Para cualquier z , acos(z) = π - acos(-z) .
Ejemplo
#include <cmath> #include <complex> #include <iostream> int main() { std::cout << std::fixed; std::complex<double> z1(-2.0, 0.0); std::cout << "acos" << z1 << " = " << std::acos(z1) << '\n'; std::complex<double> z2(-2.0, -0.0); std::cout << "acos" << z2 << " (the other side of the cut) = " << std::acos(z2) << '\n'; // for any z, acos(z) = pi - acos(-z) const double pi = std::acos(-1); std::complex<double> z3 = pi - std::acos(z2); std::cout << "cos(pi - acos" << z2 << ") = " << std::cos(z3) << '\n'; }
Salida:
acos(-2.000000,0.000000) = (3.141593,-1.316958) acos(-2.000000,-0.000000) (the other side of the cut) = (3.141593,1.316958) cos(pi - acos(-2.000000,-0.000000)) = (2.000000,0.000000)
Véase también
|
(C++11)
|
calcula el arco seno de un número complejo (
arcsin(z)
)
(plantilla de función) |
|
(C++11)
|
calcula el arco tangente de un número complejo (
arctan(z)
)
(plantilla de función) |
|
calcula el coseno de un número complejo (
cos(z)
)
(plantilla de función) |
|
|
(C++11)
(C++11)
|
calcula el arco coseno (
arccos(x)
)
(función) |
|
aplica la función
std::acos
a cada elemento del valarray
(plantilla de función) |
|
|
Documentación de C
para
cacos
|
|