std::acosh(std::complex)
| Definiert in der Header-Datei <complex> |
||
| template< class T > complex<T> acosh( const complex<T>& z ); |
(seit C++11) | |
Berechnet den komplexen Arkushyperbelkosinus eines komplexen Wertes z mit dem Schnitt an Werten kleiner als 1 entlang der reellen Achse.
Inhalt |
[edit] Parameter
| z | - | komplexer Wert |
[edit] Rückgabewert
Wenn keine Fehler auftreten, wird der komplexe Arkushyperbelkosinus von z zurückgegeben, im Bereich eines Halbstreifens nicht-negativer Werte entlang der reellen Achse und im Intervall [−iπ; +iπ] entlang der imaginären Achse.
[edit] Fehlerbehandlung und Sonderwerte
Fehler werden konsistent mit math_errhandling gemeldet.
Wenn die Implementierung IEEE-Gleitkomma-Arithmetik unterstützt,
- std::acosh(std::conj(z)) == std::conj(std::acosh(z)).
- Wenn z
(±0,+0)ist, ist das Ergebnis(+0,π/2). - Wenn z
(x,+∞)ist (für jedes endliche x), ist das Ergebnis(+∞,π/2). - Wenn z
(x,NaN)ist (für jedes[1] endliche x), ist das Ergebnis(NaN,NaN)und FE_INVALID kann ausgelöst werden. - Wenn z
(-∞,y)ist (für jedes positive endliche y), ist das Ergebnis(+∞,π). - Wenn z
(+∞,y)ist (für jedes positive endliche y), ist das Ergebnis(+∞,+0). - Wenn z
(-∞,+∞)ist, ist das Ergebnis(+∞,3π/4). - Wenn z
(±∞,NaN)ist, ist das Ergebnis(+∞,NaN). - Wenn z
(NaN,y)ist (für jedes endliche y), ist das Ergebnis(NaN,NaN)und FE_INVALID kann ausgelöst werden. - Wenn z
(NaN,+∞)ist, ist das Ergebnis(+∞,NaN). - Wenn z
(NaN,NaN)ist, ist das Ergebnis(NaN,NaN).
- ↑ laut C11 DR471 gilt dies nur für nicht-Null-x. Wenn z
(0,NaN)ist, sollte das Ergebnis(NaN,π/2)sein.
[edit] Hinweise
Obwohl der C++-Standard diese Funktion als "komplexen Arkushyperbelkosinus" bezeichnet, 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 hyperbolischer Kosinus" und, weniger gebräuchlich, "komplexer area-hyperbolischer Kosinus".
Der inverse hyperbolische Kosinus ist eine mehrwertige Funktion und erfordert einen Schnitt in der komplexen Ebene. Der Schnitt wird konventionell am Liniensegment (-∞,+1) der reellen Achse platziert.
Die mathematische Definition des Hauptwertes des inversen hyperbolischen Kosinus ist acosh z = ln(z + √z+1 √z-1).
Für jedes z gilt acosh(z) =| √z-1 |
| √1-z |
[edit] Beispiel
#include <complex> #include <iostream> int main() { std::cout << std::fixed; std::complex<double> z1(0.5, 0); std::cout << "acosh" << z1 << " = " << std::acosh(z1) << '\n'; std::complex<double> z2(0.5, -0.0); std::cout << "acosh" << z2 << " (the other side of the cut) = " << std::acosh(z2) << '\n'; // in upper half-plane, acosh = i acos std::complex<double> z3(1, 1), i(0, 1); std::cout << "acosh" << z3 << " = " << std::acosh(z3) << '\n' << "i*acos" << z3 << " = " << i*std::acos(z3) << '\n'; }
Ausgabe
acosh(0.500000,0.000000) = (0.000000,-1.047198) acosh(0.500000,-0.000000) (the other side of the cut) = (0.000000,1.047198) acosh(1.000000,1.000000) = (1.061275,0.904557) i*acos(1.000000,1.000000) = (1.061275,0.904557)
[edit] Siehe auch
| (C++11) |
berechnet den Arkuskosinus einer komplexen Zahl (arccos(z)) (function template) |
| (C++11) |
berechnet denArea Hyperbolicus Sinus einer komplexen Zahl (arsinh(z)) (function template) |
| (C++11) |
berechnet den Area Hyperbolicus Tangens einer komplexen Zahl (artanh(z)) (function template) |
| berechnet den hyperbolischen Kosinus einer komplexen Zahl (cosh(z)) (function template) | |
| (C++11)(C++11)(C++11) |
berechnet den inversen hyperbolischen Kosinus (arcosh(x)) (Funktion) |
| C-Dokumentation für cacosh
| |