catanf, catan, catanl
|
Definiert im Header
<complex.h>
|
||
| (1) | (seit C99) | |
| (2) | (seit C99) | |
| (3) | (seit C99) | |
|
Definiert im Header
<tgmath.h>
|
||
|
#define atan( z )
|
(4) | (seit C99) |
z
mit Verzweigungsschnitten außerhalb des Intervalls
[−i,+i]
entlang der imaginären Achse.
z
den Typ
long
double
complex
hat, wird
catanl
aufgerufen. Wenn
z
den Typ
double
complex
hat, wird
catan
aufgerufen. Wenn
z
den Typ
float
complex
hat, wird
catanf
aufgerufen. Wenn
z
reell oder ganzzahlig ist, ruft das Makro die entsprechende reelle Funktion auf (
atanf
,
atan
,
atanl
). Wenn
z
imaginär ist, ruft das Makro die entsprechende reelle Version der Funktion
atanh
auf, implementiert die Formel
atan(iy) = i atanh(y)
, und der Rückgabetyp des Makros ist imaginär.
Inhaltsverzeichnis |
Parameter
| z | - | komplexes Argument |
Rückgabewert
Wenn keine Fehler auftreten, wird der komplexe Arkustangens von
z
zurückgegeben, im Bereich eines Streifens, der entlang der imaginären Achse unbeschränkt und im Intervall
[−π/2; +π/2]
entlang der reellen Achse ist.
Fehler und Sonderfälle werden behandelt, als ob die Operation durch - I * catanh ( I * z ) implementiert wäre.
Hinweise
Arcustangens (oder inverser Tangens) ist eine mehrdeutige Funktion und erfordert einen Schnitt entlang der komplexen Ebene. Der konventionelle Schnitt verläuft entlang der Liniensegmente (-∞i,-i) und (+i,+∞i) der imaginären Achse.
The mathematical definition of the principal value of inverse tangent is atan z = -| 1 |
| 2 |
Beispiel
#include <stdio.h> #include <float.h> #include <complex.h> int main(void) { double complex z = catan(2*I); printf("catan(+0+2i) = %f%+fi\n", creal(z), cimag(z)); double complex z2 = catan(-conj(2*I)); // or CMPLX(-0.0, 2) printf("catan(-0+2i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2)); double complex z3 = 2*catan(2*I*DBL_MAX); // or CMPLX(0, INFINITY) printf("2*catan(+0+i*Inf) = %f%+fi\n", creal(z3), cimag(z3)); }
Ausgabe:
catan(+0+2i) = 1.570796+0.549306i catan(-0+2i) (the other side of the cut) = -1.570796+0.549306i 2*catan(+0+i*Inf) = 3.141593+0.000000i
Referenzen
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.3.5.3 Die catan-Funktionen (S. 191)
-
- 7.25 Typgenerische Mathematik <tgmath.h> (S. 373-375)
-
- G.7 Typgenerische Mathematik <tgmath.h> (S. 545)
- C99-Standard (ISO/IEC 9899:1999):
-
- 7.3.5.3 Die catan-Funktionen (S. 173)
-
- 7.22 Typgenerische Mathematik <tgmath.h> (S. 335-337)
-
- G.7 Typgenerische Mathematik <tgmath.h> (S. 480)
Siehe auch
|
(C99)
(C99)
(C99)
|
berechnet den komplexen Arkussinus
(Funktion) |
|
(C99)
(C99)
(C99)
|
berechnet den komplexen Arkuskosinus
(Funktion) |
|
(C99)
(C99)
(C99)
|
berechnet den komplexen Tangens
(Funktion) |
|
(C99)
(C99)
|
berechnet Arkustangens (
arctan(x)
)
(Funktion) |
|
C++-Dokumentation
für
atan
|
|