std:: acos (std::complex)
|
Défini dans l'en-tête
<complex>
|
||
|
template
<
class
T
>
complex < T > acos ( const complex < T > & z ) ; |
(depuis C++11) | |
Calcule l'arc cosinus complexe d'une valeur complexe z . Des coupures de branche existent en dehors de l'intervalle [−1, +1] le long de l'axe réel.
Table des matières |
Paramètres
| z | - | valeur complexe |
Valeur de retour
Si aucune erreur ne se produit, l'arc cosinus complexe de z est retourné, dans la plage d'une bande non bornée le long de l'axe imaginaire et dans l'intervalle [0, +π] le long de l'axe réel.
Gestion des erreurs et valeurs spéciales
Les erreurs sont signalées conformément à math_errhandling .
Si l'implémentation prend en charge l'arithmétique à virgule flottante IEEE,
- std:: acos ( std:: conj ( z ) ) == std:: conj ( std:: acos ( z ) )
-
Si
z
est
(±0,+0), le résultat est(π/2,-0) -
Si
z
est
(±0,NaN), le résultat est(π/2,NaN) -
Si
z
est
(x,+∞)(pour tout x fini), le résultat est(π/2,-∞) -
Si
z
est
(x,NaN)(pour tout x fini non nul), le résultat est(NaN,NaN)et FE_INVALID peut être déclenché. -
Si
z
est
(-∞,y)(pour tout y fini positif), le résultat est(π,-∞) -
Si
z
est
(+∞,y)(pour tout y fini positif), le résultat est(+0,-∞) -
Si
z
est
(-∞,+∞), le résultat est(3π/4,-∞) -
Si
z
est
(+∞,+∞), le résultat est(π/4,-∞) -
Si
z
est
(±∞,NaN), le résultat est(NaN,±∞)(le signe de la partie imaginaire n'est pas spécifié) -
Si
z
est
(NaN,y)(pour tout y fini), le résultat est(NaN,NaN)et FE_INVALID peut être déclenché -
Si
z
est
(NaN,+∞), le résultat est(NaN,-∞) -
Si
z
est
(NaN,NaN), le résultat est(NaN,NaN)
Notes
L'arc cosinus (ou fonction réciproque du cosinus) est une fonction multivalue et nécessite une coupure de branche sur le plan complexe. La coupure de branche est conventionnellement placée sur les segments de droite (-∞,-1) et (1,∞) de l'axe réel.
The mathematical definition of the principal value of arc cosine is acos z =| 1 |
| 2 |
) .
Pour tout z , acos(z) = π - acos(-z) .
Exemple
#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'; }
Sortie :
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)
Voir aussi
|
(C++11)
|
calcule l'arc sinus d'un nombre complexe (
arcsin(z)
)
(modèle de fonction) |
|
(C++11)
|
calcule l'arc tangente d'un nombre complexe (
arctan(z)
)
(modèle de fonction) |
|
calcule le cosinus d'un nombre complexe (
cos(z)
)
(modèle de fonction) |
|
|
(C++11)
(C++11)
|
calcule l'arc cosinus (
arccos(x)
)
(fonction) |
|
applique la fonction
std::acos
à chaque élément du valarray
(modèle de fonction) |
|
|
Documentation C
pour
cacos
|
|