ctanhf, ctanh, ctanhl
Von cppreference.com
| Definiert im Header <complex.h> |
||
| (1) | (seit C99) | |
| (2) | (seit C99) | |
| (3) | (seit C99) | |
| Definiert in Header <tgmath.h> |
||
| #define tanh( z ) |
(4) | (seit C99) |
1-3) Berechnet den komplexen hyperbolischen Tangens von
z.4) Typ-generische Makro: Wenn
z vom Typ long double complex ist, wird ctanhl aufgerufen. Wenn z vom Typ double complex ist, wird ctanh aufgerufen. Wenn z vom Typ float complex ist, wird ctanhf aufgerufen. Wenn z reell oder ganzzahlig ist, ruft das Makro die entsprechende reelle Funktion auf (tanhf, tanh, tanhl). Wenn z imaginär ist, ruft das Makro die entsprechende reelle Version der Funktion tan auf und implementiert die Formel tanh(iy) = i tan(y), und der Rückgabetyp ist imaginär.Inhalt |
[edit] Parameter
| z | - | complex argument |
[edit] Rückgabewert
Wenn keine Fehler auftreten, wird der komplexe hyperbolische Tangens von z zurückgegeben.
[edit] Fehlerbehandlung und Sonderwerte
Fehler werden konsistent mit math_errhandling gemeldet.
Wenn die Implementierung IEEE-Gleitkomma-Arithmetik unterstützt,
- ctanh(conj(z)) == conj(ctanh(z))
- ctanh(-z) == -ctanh(z)
- Wenn
z+0+0iist, ist das Ergebnis+0+0i. - Wenn
zx+∞iist (für jedes[1] endliche x), ist das ErgebnisNaN+NaNiund FE_INVALID wird ausgelöst. - Wenn
zx+NaNist (für jedes[2] endliche x), ist das ErgebnisNaN+NaNiund FE_INVALID kann ausgelöst werden. - Wenn
z+∞+yiist (für jedes endliche positive y), ist das Ergebnis1+0i. - Wenn
z+∞+∞iist, ist das Ergebnis1±0i(das Vorzeichen des Imaginärteils ist nicht spezifiziert). - Wenn
z+∞+NaNiist, ist das Ergebnis1±0i(das Vorzeichen des Imaginärteils ist nicht spezifiziert). - Wenn
zNaN+0iist, ist das ErgebnisNaN+0i. - Wenn
zNaN+yiist (für jedes ungleich Null y), ist das ErgebnisNaN+NaNiund FE_INVALID kann ausgelöst werden. - Wenn
zNaN+NaNiist, ist das ErgebnisNaN+NaNi.
- ↑ gemäß DR471 gilt dies nur für ungleich Null x. Wenn
z0+∞iist, sollte das Ergebnis0+NaNisein. - ↑ gemäß DR471 gilt dies nur für ungleich Null x. Wenn
z0+NaNiist, sollte das Ergebnis0+NaNisein.
[edit] Anmerkungen
Die mathematische Definition des hyperbolischen Tangens ist tanh z =| ez -e-z |
| ez +e-z |
Der hyperbolische Tangens ist eine analytische Funktion in der komplexen Ebene und hat keine Zweigschnitte. Er ist bezüglich der imaginären Komponente periodisch mit der Periode πi und hat Pole erster Ordnung entlang der imaginären Linie an den Koordinaten (0, π(1/2 + n)). Keine gängige Gleitkommadarstellung kann jedoch π/2 exakt darstellen, daher gibt es keinen Wert für das Argument, für den ein Polfehler auftritt.
[edit] Beispiel
Führen Sie diesen Code aus
#include <stdio.h> #include <math.h> #include <complex.h> int main(void) { double complex z = ctanh(1); // behaves like real tanh along the real line printf("tanh(1+0i) = %f%+fi (tanh(1)=%f)\n", creal(z), cimag(z), tanh(1)); double complex z2 = ctanh(I); // behaves like tangent along the imaginary line printf("tanh(0+1i) = %f%+fi ( tan(1)=%f)\n", creal(z2), cimag(z2), tan(1)); }
Ausgabe
tanh(1+0i) = 0.761594+0.000000i (tanh(1)=0.761594) tanh(0+1i) = 0.000000+1.557408i ( tan(1)=1.557408)
[edit] Referenzen
- C11-Standard (ISO/IEC 9899:2011)
- 7.3.6.6 Die ctanh-Funktionen (S. 194)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
- G.6.2.6 Die ctanh-Funktionen (S. 542)
- G.7 Type-generic math <tgmath.h> (S: 545)
- C99-Standard (ISO/IEC 9899:1999)
- 7.3.6.6 Die ctanh-Funktionen (S. 176)
- 7.22 Typ-generische Mathematik <tgmath.h> (S. 335-337)
- G.6.2.6 Die ctanh-Funktionen (S. 477)
- G.7 Type-generic math <tgmath.h> (S: 480)
[edit] Siehe auch
| (C99)(C99)(C99) |
berechnet den komplexen hyperbolischen Sinus (Funktion) |
| (C99)(C99)(C99) |
berechnet den komplexen hyperbolischen Kosinus (Funktion) |
| (C99)(C99)(C99) |
berechnet den komplexen inversen hyperbolischen Tangens (Funktion) |
| (C99)(C99) |
berechnet Tangens hyperbolicus (tanh(x)) (Funktion) |
| C++-Dokumentation für tanh
| |