Namespaces
Variants

std:: tanh (std::complex)

From cppreference.net
Definiert im Header <complex>
template < class T >
complex < T > tanh ( const complex < T > & z ) ;
(seit C++11)

Berechnet den komplexen hyperbolischen Tangens eines komplexen Wertes z .

Inhaltsverzeichnis

Parameter

z - komplexer Wert

Rückgabewert

Wenn keine Fehler auftreten, wird der komplexe hyperbolische Tangens von z zurückgegeben.

Fehlerbehandlung und spezielle Werte

Fehler werden gemeldet konsistent mit math_errhandling .

Wenn die Implementierung IEEE-Gleitkommaarithmetik unterstützt,

  • std:: tanh ( std:: conj ( z ) ) == std:: conj ( std:: tanh ( z ) ) .
  • std:: tanh ( - z ) == - std:: tanh ( z ) .
  • Wenn z (+0,+0) ist, ist das Ergebnis (+0,+0) .
  • Wenn z (x,+∞) ist (für jedes [1] endliche x), ist das Ergebnis (NaN,NaN) und FE_INVALID wird ausgelöst.
  • Wenn z (x,NaN) ist (für jedes [2] endliche x), ist das Ergebnis (NaN,NaN) und FE_INVALID kann ausgelöst werden.
  • Wenn z (+∞,y) ist (für jedes endliche positive y), ist das Ergebnis (1,+0) .
  • Wenn z (+∞,+∞) ist, ist das Ergebnis (1,±0) (das Vorzeichen des Imaginärteils ist nicht spezifiziert).
  • Wenn z (+∞,NaN) ist, ist das Ergebnis (1,±0) (das Vorzeichen des Imaginärteils ist nicht spezifiziert).
  • Wenn z (NaN,+0) ist, ist das Ergebnis (NaN,+0) .
  • Wenn z (NaN,y) ist (für jedes von Null verschiedene y), ist das Ergebnis (NaN,NaN) und FE_INVALID kann ausgelöst werden.
  • Wenn z (NaN,NaN) ist, ist das Ergebnis (NaN,NaN) .
  1. gemäß C11 DR471 gilt dies nur für nicht-null x. Wenn z gleich (0,∞) ist, sollte das Ergebnis (0,NaN) sein.
  2. gemäß C11 DR471 gilt dies nur für nicht-null x. Wenn z gleich (0,NaN) ist, sollte das Ergebnis (0,NaN) sein.

Hinweise

Mathematical definition of hyperbolic tangent is tanh z =
e z
-e -z
e z
+e -z
.

Der hyperbolische Tangens ist eine analytische Funktion auf der komplexen Ebene und weist keine Verzweigungsschnitte auf. Er ist periodisch bezüglich der imaginären Komponente mit der Periode πi und hat Pole erster Ordnung entlang der imaginären Linie bei den Koordinaten (0, π(1/2 + n)) . Allerdings kann keine gängige Gleitkommadarstellung π/2 exakt darstellen, daher gibt es keinen Argumentwert, bei dem ein Polfehler auftritt.

Beispiel

#include <cmath>
#include <complex>
#include <iostream>
int main()
{
    std::cout << std::fixed;
    std::complex<double> z(1.0, 0.0); // verhält sich wie reeller tanh entlang der reellen Achse
    std::cout << "tanh" << z << " = " << std::tanh(z)
              << " (tanh(1) = " << std::tanh(1) << ")\n";
    std::complex<double> z2(0.0, 1.0); // verhält sich wie Tangens entlang der imaginären Achse
    std::cout << "tanh" << z2 << " = " << std::tanh(z2)
              << " ( tan(1) = " << std::tan(1) << ")\n";
}

Ausgabe:

tanh(1.000000,0.000000) = (0.761594,0.000000) (tanh(1) = 0.761594)
tanh(0.000000,1.000000) = (0.000000,1.557408) ( tan(1) = 1.557408)

Siehe auch

berechnet den hyperbolischen Sinus einer komplexen Zahl ( sinh(z) )
(Funktions-Template)
berechnet den hyperbolischen Kosinus einer komplexen Zahl ( cosh(z) )
(Funktions-Template)
berechnet den Areatangens hyperbolicus einer komplexen Zahl ( artanh(z) )
(Funktions-Template)
(C++11) (C++11)
berechnet den hyperbolischen Tangens ( tanh(x) )
(Funktion)
wendet die Funktion std::tanh auf jedes Element des valarray an
(Funktions-Template)