Namespaces
Variants

std:: acos (std::complex)

From cppreference.net
Definiert im Header <complex>
template < class T >
complex < T > acos ( const complex < T > & z ) ;
(seit C++11)

Berechnet den komplexen Arkuskosinus eines komplexen Wertes z . Verzweigungsschnitte existieren außerhalb des Intervalls [−1, +1] entlang der reellen Achse.

Inhaltsverzeichnis

Parameter

z - komplexer Wert

Rückgabewert

Wenn keine Fehler auftreten, wird der komplexe Arkuskosinus von z zurückgegeben, im Bereich eines Streifens, der entlang der imaginären Achse unbeschränkt und im Intervall [0, +π] entlang der reellen Achse liegt.

Fehlerbehandlung und spezielle Werte

Fehler werden gemäß math_errhandling gemeldet.

Wenn die Implementierung IEEE-Gleitkommaarithmetik unterstützt,

  • std:: acos ( std:: conj ( z ) ) == std:: conj ( std:: acos ( z ) )
  • Wenn z gleich (±0,+0) ist, ist das Ergebnis (π/2,-0)
  • Wenn z gleich (±0,NaN) ist, ist das Ergebnis (π/2,NaN)
  • Wenn z gleich (x,+∞) ist (für jedes endliche x), ist das Ergebnis (π/2,-∞)
  • Wenn z gleich (x,NaN) ist (für jedes endliche x ungleich null), ist das Ergebnis (NaN,NaN) und FE_INVALID kann ausgelöst werden.
  • Wenn z gleich (-∞,y) ist (für jedes positive endliche y), ist das Ergebnis (π,-∞)
  • Wenn z gleich (+∞,y) ist (für jedes positive endliche y), ist das Ergebnis (+0,-∞)
  • Wenn z gleich (-∞,+∞) ist, ist das Ergebnis (3π/4,-∞)
  • Wenn z gleich (+∞,+∞) ist, ist das Ergebnis (π/4,-∞)
  • Wenn z gleich (±∞,NaN) ist, ist das Ergebnis (NaN,±∞) (das Vorzeichen des Imaginärteils ist nicht spezifiziert)
  • Wenn z gleich (NaN,y) ist (für jedes endliche y), ist das Ergebnis (NaN,NaN) und FE_INVALID kann ausgelöst werden
  • Wenn z gleich (NaN,+∞) ist, ist das Ergebnis (NaN,-∞)
  • Wenn z gleich (NaN,NaN) ist, ist das Ergebnis (NaN,NaN)

Hinweise

Arkuskosinus (oder inverser Kosinus) ist eine mehrdeutige Funktion und erfordert einen Schnitt in der komplexen Ebene. Der konventionelle Schnitt verläuft entlang der Strecken (-∞,-1) und (1,∞) auf der reellen Achse.

The mathematical definition of the principal value of arc cosine is acos z =
1
2
π + i ln( i z + 1-z 2
)
.

Für jedes z gilt: acos(z) = π - acos(-z) .

Beispiel

#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';
}

Ausgabe:

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)

Siehe auch

berechnet den Arkussinus einer komplexen Zahl ( arcsin(z) )
(Funktions-Template)
berechnet den Arkustangens einer komplexen Zahl ( arctan(z) )
(Funktions-Template)
berechnet den Kosinus einer komplexen Zahl ( cos(z) )
(Funktions-Template)
(C++11) (C++11)
berechnet den Arkuskosinus ( arccos(x) )
(Funktion)
wendet die Funktion std::acos auf jedes Element des valarray an
(Funktions-Template)