catanhf, catanh, catanhl
| Definiert im Header <complex.h> |
||
| (1) | (seit C99) | |
| (2) | (seit C99) | |
| (3) | (seit C99) | |
| Definiert in Header <tgmath.h> |
||
| #define atanh( z ) |
(4) | (seit C99) |
z mit Schnittlinien außerhalb des Intervalls [−1; +1] entlang der reellen Achse.z vom Typ long double complex ist, wird catanhl aufgerufen. Wenn z vom Typ double complex ist, wird catanh aufgerufen. Wenn z vom Typ float complex ist, 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 und implementiert die Formel atanh(iy) = i atan(y). Der Rückgabetyp ist imaginär.Inhalt |
[edit] Parameter
| z | - | complex argument |
[edit] Rückgabewert
Wenn keine Fehler auftreten, wird der komplexe Arkushyperbeltangens von z zurückgegeben. Der Wertebereich ist ein Halbstreifen, der entlang der reellen Achse mathematisch unbeschränkt ist, und entlang der imaginären Achse im Intervall [−iπ/2; +iπ/2] liegt.
[edit] Fehlerbehandlung und Sonderwerte
Fehler werden konsistent mit math_errhandling gemeldet.
Wenn die Implementierung IEEE-Gleitkomma-Arithmetik unterstützt,
- catanh(conj(z)) == conj(catanh(z))
- catanh(-z) == -catanh(z)
- Wenn
z+0+0iist, ist das Ergebnis+0+0i. - Wenn
z+0+NaNiist, ist das Ergebnis+0+NaNi. - Wenn
z+1+0iist, ist das Ergebnis+∞+0iund FE_DIVBYZERO wird ausgelöst. - Wenn
zx+∞iist (für ein beliebiges endliches positives x), ist das Ergebnis+0+iπ/2. - Wenn
zx+NaNiist (für ein beliebiges endliches ungleiches x), ist das ErgebnisNaN+NaNiund FE_INVALID kann ausgelöst werden. - Wenn
z+∞+yiist (für ein beliebiges endliches positives y), ist das Ergebnis+0+iπ/2. - Wenn
z+∞+∞iist, ist das Ergebnis+0+iπ/2. - Wenn
z+∞+NaNiist, ist das Ergebnis+0+NaNi. - Wenn
zNaN+yiist (für jedes endliche y), ist das ErgebnisNaN+NaNiund FE_INVALID kann ausgelöst werden. - Wenn
zNaN+∞iist, ist das Ergebnis±0+iπ/2(das Vorzeichen des Realteils ist nicht spezifiziert). - Wenn
zNaN+NaNiist, ist das ErgebnisNaN+NaNi.
[edit] Anmerkungen
Obwohl der C-Standard diese Funktion "komplexer Arkushyperbeltangens" nennt, sind die Umkehrfunktionen der hyperbolischen Funktionen die Areafunktionen. Ihr Argument ist die Fläche eines hyperbolischen Sektors, nicht eines Bogens. Der korrekte Name ist "komplexer inverser Hyperbeltangens" und seltener "komplexer Area-Hyperbeltangens".
Der inverse Hyperbeltangens ist eine mehrwertige Funktion und erfordert eine Schnittlinie in der komplexen Ebene. Die Schnittlinie wird konventionell auf den Liniensegmenten (-∞,-1] und [+1,+∞) der reellen Achse platziert.
Die mathematische Definition des Hauptwertes des inversen Hyperbeltangens ist atanh z =| ln(1+z)-ln(z-1) |
| 2 |
| atan(iz) |
| i |
[edit] 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
[edit] Referenzen
- C11-Standard (ISO/IEC 9899:2011)
- 7.3.6.3 Die catanh-Funktionen (S. 193)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
- G.6.2.3 Die catanh-Funktionen (S. 540-541)
- G.7 Type-generic math <tgmath.h> (S: 545)
- C99-Standard (ISO/IEC 9899:1999)
- 7.3.6.3 Die catanh-Funktionen (S. 175)
- 7.22 Typ-generische Mathematik <tgmath.h> (S. 335-337)
- G.6.2.3 Die catanh-Funktionen (S. 475-476)
- G.7 Type-generic math <tgmath.h> (S: 480)
[edit] Siehe auch
| (C99)(C99)(C99) |
berechnet den komplexen inversen hyperbolischen Sinus (Funktion) |
| (C99)(C99)(C99) |
berechnet den komplexen inversen hyperbolischen Kosinus (Funktion) |
| (C99)(C99)(C99) |
berechnet den komplexen hyperbolischen Tangens (Funktion) |
| (C99)(C99)(C99) |
berechnet inversen Tangens hyperbolicus (artanh(x)) (Funktion) |
| C++ Dokumentation für atanh
| |