catanhf, catanh, catanhl
|
Definiert im Header
<complex.h>
|
||
| (1) | (seit C99) | |
| (2) | (seit C99) | |
| (3) | (seit C99) | |
|
Definiert im Header
<tgmath.h>
|
||
|
#define atanh( z )
|
(4) | (seit C99) |
z
mit Verzweigungsschnitten außerhalb des Intervalls
[−1; +1]
entlang der reellen Achse.
z
den Typ
long
double
complex
hat, wird
catanhl
aufgerufen. Wenn
z
den Typ
double
complex
hat, wird
catanh
aufgerufen. Wenn
z
den Typ
float
complex
hat, wird
catanhf
aufgerufen. Wenn
z
reell oder ganzzahlig ist, ruft das Makro die entsprechende reelle Funktion auf (
atanhf
,
atanh
,
atanhl
). Wenn
z
imaginär ist, ruft das Makro die entsprechende reelle Version von
atan
auf, implementiert die Formel
atanh(iy) = i atan(y)
, und der Rückgabetyp ist imaginär.
Inhaltsverzeichnis |
Parameter
| z | - | komplexes Argument |
Rückgabewert
Wenn keine Fehler auftreten, wird der komplexe Areatangens Hyperbolicus von
z
zurückgegeben, im Bereich eines mathematisch entlang der reellen Achse unbeschränkten Halbstreifens und im Intervall
[−iπ/2; +iπ/2]
entlang der imaginären Achse.
Fehlerbehandlung und spezielle Werte
Fehler werden gemeldet konsistent mit math_errhandling
Wenn die Implementierung IEEE-Gleitkommaarithmetik unterstützt,
- catanh ( conj ( z ) ) == conj ( catanh ( z ) )
- catanh ( - z ) == - catanh ( z )
-
Wenn
zgleich+0+0iist, ist das Ergebnis+0+0i -
Wenn
zgleich+0+NaNiist, ist das Ergebnis+0+NaNi -
Wenn
zgleich+1+0iist, ist das Ergebnis+∞+0iund FE_DIVBYZERO wird ausgelöst -
Wenn
zgleichx+∞iist (für jedes endliche positive x), ist das Ergebnis+0+iπ/2 -
Wenn
zgleichx+NaNiist (für jedes endliche x ungleich Null), ist das ErgebnisNaN+NaNiund FE_INVALID kann ausgelöst werden -
Wenn
zgleich+∞+yiist (für jedes endliche positive y), ist das Ergebnis+0+iπ/2 -
Wenn
zgleich+∞+∞iist, ist das Ergebnis+0+iπ/2 -
Wenn
zgleich+∞+NaNiist, ist das Ergebnis+0+NaNi -
Wenn
zgleichNaN+yiist (für jedes endliche y), ist das ErgebnisNaN+NaNiund FE_INVALID kann ausgelöst werden -
Wenn
zgleichNaN+∞iist, ist das Ergebnis±0+iπ/2(das Vorzeichen des Realteils ist nicht spezifiziert) -
Wenn
zgleichNaN+NaNiist, ist das ErgebnisNaN+NaNi
Hinweise
Obwohl der C-Standard diese Funktion als "komplexen Areakosinus Hyperbolicus" bezeichnet, sind die Umkehrfunktionen der hyperbolischen Funktionen die Areafunktionen. Ihr Argument ist die Fläche eines hyperbolischen Sektors, nicht ein Bogen. Der korrekte Name ist "komplexer inverser hyperbolischer Tangens" und, weniger gebräuchlich, "komplexer Areatangens Hyperbolicus".
Der inverse hyperbolische Tangens ist eine mehrwertige Funktion und erfordert einen Verzweigungsschnitt in der komplexen Ebene. Der Verzweigungsschnitt wird konventionell auf den Liniensegmenten (-∞,-1] und [+1,+∞) der reellen Achse platziert.
The mathematical definition of the principal value of the inverse hyperbolic tangent is atanh z =| ln(1+z)-ln(z-1) |
| 2 |
| atan(iz) |
| i |
Beispiel
#include <stdio.h> #include <complex.h> int main(void) { double complex z = catanh(2); printf("catanh(+2+0i) = %f%+fi\n", creal(z), cimag(z)); double complex z2 = catanh(conj(2)); // or catanh(CMPLX(2, -0.0)) in C11 printf("catanh(+2-0i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2)); // for any z, atanh(z) = atan(iz)/i double complex z3 = catanh(1+2*I); printf("catanh(1+2i) = %f%+fi\n", creal(z3), cimag(z3)); double complex z4 = catan((1+2*I)*I)/I; printf("catan(i * (1+2i))/i = %f%+fi\n", creal(z4), cimag(z4)); }
Ausgabe:
catanh(+2+0i) = 0.549306+1.570796i catanh(+2-0i) (the other side of the cut) = 0.549306-1.570796i catanh(1+2i) = 0.173287+1.178097i catan(i * (1+2i))/i = 0.173287+1.178097i
Referenzen
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.3.6.3 The catanh functions (S. 193)
-
- 7.25 Typgenerische Mathematik <tgmath.h> (S. 373-375)
-
- G.6.2.3 The catanh functions (S. 540-541)
-
- G.7 Typgenerische Mathematik <tgmath.h> (S. 545)
- C99-Standard (ISO/IEC 9899:1999):
-
- 7.3.6.3 The catanh functions (S. 175)
-
- 7.22 Typgenerische Mathematik <tgmath.h> (S. 335-337)
-
- G.6.2.3 The catanh functions (S. 475-476)
-
- G.7 Typgenerische Mathematik <tgmath.h> (S. 480)
Siehe auch
|
(C99)
(C99)
(C99)
|
berechnet den komplexen Areahyperbelsinus
(Funktion) |
|
(C99)
(C99)
(C99)
|
berechnet den komplexen Areahyperbelkosinus
(Funktion) |
|
(C99)
(C99)
(C99)
|
berechnet den komplexen hyperbolischen Tangens
(Funktion) |
|
(C99)
(C99)
(C99)
|
berechnet den Areahyperbeltangens (
artanh(x)
)
(Funktion) |
|
C++-Dokumentation
für
atanh
|
|