Namensräume
Varianten
Aktionen

cacosf, cacos, cacosl

Von cppreference.com
< c‎ | numeric‎ | complex
Definiert im Header <complex.h>
float complex       cacosf( float complex z );
(1) (seit C99)
double complex      cacos( double complex z );
(2) (seit C99)
long double complex cacosl( long double complex z );
(3) (seit C99)
Definiert in Header <tgmath.h>
#define acos( z )
(4) (seit C99)
1-3) Berechnet den komplexen Arkuskosinus von z mit dem Schnittbereich außerhalb des Intervalls [−1,+1] entlang der reellen Achse.
4) Typgenerische Makro: Wenn z den Typ long double complex hat, wird cacosl aufgerufen. Wenn z den Typ double complex hat, wird cacos aufgerufen. Wenn z den Typ float complex hat, wird cacosf aufgerufen. Wenn z reell oder ganzzahlig ist, ruft das Makro die entsprechende reelle Funktion auf (acosf, acos, acosl). Wenn z imaginär ist, ruft das Makro die entsprechende komplexe Version auf.

Inhalt

[edit] Parameter

z - complex argument

[edit] Rückgabewert

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

[edit] Fehlerbehandlung und Sonderwerte

Fehler werden gemäß math_errhandling gemeldet.

Wenn die Implementierung IEEE-Gleitkomma-Arithmetik unterstützt,

  • cacos(conj(z)) == conj(cacos(z))
  • Wenn z ±0+0i ist, ist das Ergebnis π/2-0i.
  • Wenn z ±0+NaNi ist, ist das Ergebnis π/2+NaNi.
  • Wenn z x+∞i ist (für beliebiges endliches x), ist das Ergebnis π/2-∞i.
  • Wenn z x+NaNi ist (für beliebiges ungleich Null endliches x), ist das Ergebnis NaN+NaNi und FE_INVALID kann ausgelöst werden.
  • Wenn z -∞+yi ist (für beliebiges positives endliches y), ist das Ergebnis π-∞i.
  • Wenn z +∞+yi ist (für beliebiges positives endliches y), ist das Ergebnis +0-∞i.
  • Wenn z -∞+∞i ist, ist das Ergebnis 3π/4-∞i.
  • Wenn z +∞+∞i ist, ist das Ergebnis π/4-∞i.
  • Wenn z ±∞+NaNi ist, ist das Ergebnis NaN±∞i (das Vorzeichen des Imaginärteils ist nicht spezifiziert).
  • Wenn z NaN+yi ist (für jedes endliche y), ist das Ergebnis NaN+NaNi und FE_INVALID kann ausgelöst werden.
  • Wenn z NaN+∞i ist, ist das Ergebnis NaN-∞i.
  • Wenn z NaN+NaNi ist, ist das Ergebnis NaN+NaNi.

[edit] Hinweise

Der Arkuskosinus (oder Inverse Kosinus) ist eine mehrdeutige Funktion und erfordert einen Schnittbereich in der komplexen Ebene. Der Schnittbereich wird üblicherweise an den Liniensegmenten (-∞,-1) und (1,∞) der reellen Achse platziert.

Die mathematische Definition des Hauptwerts des Arkuskosinus ist acos z =
1
2
π + iln(iz + 1-z2
)

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

[edit] Beispiel

#include <stdio.h>
#include <math.h>
#include <complex.h>
 
int main(void)
{
    double complex z = cacos(-2);
    printf("cacos(-2+0i) = %f%+fi\n", creal(z), cimag(z));
 
    double complex z2 = cacos(conj(-2)); // or CMPLX(-2, -0.0)
    printf("cacos(-2-0i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2));
 
    // for any z, acos(z) = pi - acos(-z)
    double pi = acos(-1);
    double complex z3 = ccos(pi-z2);
    printf("ccos(pi - cacos(-2-0i) = %f%+fi\n", creal(z3), cimag(z3));
}

Ausgabe

cacos(-2+0i) = 3.141593-1.316958i
cacos(-2-0i) (the other side of the cut) = 3.141593+1.316958i
ccos(pi - cacos(-2-0i) = 2.000000+0.000000i

[edit] Referenzen

  • C11-Standard (ISO/IEC 9899:2011)
  • 7.3.5.1 Die cacos-Funktionen (S. 190)
  • 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
  • G.6.1.1 Die cacos-Funktionen (S. 539)
  • G.7 Type-generic math <tgmath.h> (S: 545)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.3.5.1 Die cacos-Funktionen (S. 172)
  • 7.22 Typ-generische Mathematik <tgmath.h> (S. 335-337)
  • G.6.1.1 Die cacos-Funktionen (S. 474)
  • G.7 Type-generic math <tgmath.h> (S: 480)

[edit] Siehe auch

(C99)(C99)(C99)
berechnet den komplexen Arkussinus
(Funktion) [bearbeiten]
(C99)(C99)(C99)
berechnet den komplexen Arkustangens
(Funktion) [bearbeiten]
(C99)(C99)(C99)
berechnet den komplexen Kosinus
(Funktion) [bearbeiten]
(C99)(C99)
berechnet Arkuskosinus (arccos(x))
(Funktion) [bearbeiten]