cacosf, cacos, cacosl
Von cppreference.com
| Definiert im Header <complex.h> |
||
| (1) | (seit C99) | |
| (2) | (seit C99) | |
| (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+0iist, ist das Ergebnisπ/2-0i. - Wenn
z±0+NaNiist, ist das Ergebnisπ/2+NaNi. - Wenn
zx+∞iist (für beliebiges endliches x), ist das Ergebnisπ/2-∞i. - Wenn
zx+NaNiist (für beliebiges ungleich Null endliches x), ist das ErgebnisNaN+NaNiund FE_INVALID kann ausgelöst werden. - Wenn
z-∞+yiist (für beliebiges positives endliches y), ist das Ergebnisπ-∞i. - Wenn
z+∞+yiist (für beliebiges positives endliches y), ist das Ergebnis+0-∞i. - Wenn
z-∞+∞iist, ist das Ergebnis3π/4-∞i. - Wenn
z+∞+∞iist, ist das Ergebnisπ/4-∞i. - Wenn
z±∞+NaNiist, ist das ErgebnisNaN±∞i(das Vorzeichen des Imaginärteils ist nicht spezifiziert). - Wenn
zNaN+yiist (für jedes endliche y), ist das ErgebnisNaN+NaNiund FE_INVALID kann ausgelöst werden. - Wenn
zNaN+∞iist, ist das ErgebnisNaN-∞i. - Wenn
zNaN+NaNiist, ist das ErgebnisNaN+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 |
)
Für jedes z gilt acos(z) = π - acos(-z)
[edit] Beispiel
Führen Sie diesen Code aus
#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) |
| (C99)(C99)(C99) |
berechnet den komplexen Arkustangens (Funktion) |
| (C99)(C99)(C99) |
berechnet den komplexen Kosinus (Funktion) |
| (C99)(C99) |
berechnet Arkuskosinus (arccos(x)) (Funktion) |
| C++-Dokumentation für acos
| |