Namensräume
Varianten
Aktionen

ctanhf, ctanh, ctanhl

Von cppreference.com
< c‎ | numeric‎ | complex
Definiert im Header <complex.h>
float complex       ctanhf( float complex z );
(1) (seit C99)
double complex      ctanh( double complex z );
(2) (seit C99)
long double complex ctanhl( long double complex z );
(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+0i ist, ist das Ergebnis +0+0i.
  • Wenn z x+∞i ist (für jedes[1] endliche x), ist das Ergebnis NaN+NaNi und FE_INVALID wird ausgelöst.
  • Wenn z x+NaN ist (für jedes[2] endliche x), ist das Ergebnis NaN+NaNi und FE_INVALID kann ausgelöst werden.
  • Wenn z +∞+yi ist (für jedes endliche positive y), ist das Ergebnis 1+0i.
  • Wenn z +∞+∞i ist, ist das Ergebnis 1±0i (das Vorzeichen des Imaginärteils ist nicht spezifiziert).
  • Wenn z +∞+NaNi ist, ist das Ergebnis 1±0i (das Vorzeichen des Imaginärteils ist nicht spezifiziert).
  • Wenn z NaN+0i ist, ist das Ergebnis NaN+0i.
  • Wenn z NaN+yi ist (für jedes ungleich Null y), ist das Ergebnis NaN+NaNi und FE_INVALID kann ausgelöst werden.
  • Wenn z NaN+NaNi ist, ist das Ergebnis NaN+NaNi.
  1. gemäß DR471 gilt dies nur für ungleich Null x. Wenn z 0+∞i ist, sollte das Ergebnis 0+NaNi sein.
  2. gemäß DR471 gilt dies nur für ungleich Null x. Wenn z 0+NaNi ist, sollte das Ergebnis 0+NaNi sein.

[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

#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) [bearbeiten]
(C99)(C99)(C99)
berechnet den komplexen hyperbolischen Kosinus
(Funktion) [bearbeiten]
(C99)(C99)(C99)
berechnet den komplexen inversen hyperbolischen Tangens
(Funktion) [bearbeiten]
(C99)(C99)
berechnet Tangens hyperbolicus (tanh(x))
(Funktion) [bearbeiten]