casinf, casin, casinl
Von cppreference.com
| Definiert im Header <complex.h> |
||
| (1) | (seit C99) | |
| (2) | (seit C99) | |
| (3) | (seit C99) | |
| Definiert in Header <tgmath.h> |
||
| #define asin( z ) |
(4) | (seit C99) |
1-3) Berechnet den komplexen Arkussinus von
z mit Schnitten außerhalb des Intervalls [−1,+1] entlang der reellen Achse.4) Typ-generische Makro: Wenn
z den Typ long double complex hat, wird casinl aufgerufen. Wenn z den Typ double complex hat, wird casin aufgerufen. Wenn z den Typ float complex hat, wird casinf aufgerufen. Wenn z reell oder ganzzahlig ist, ruft das Makro die entsprechende reelle Funktion auf (asinf, asin, asinl). Wenn z imaginär ist, ruft das Makro die entsprechende reelle Version der Funktion asinh auf, wobei die Formel arcsin(iy) = i arsinh(y) implementiert wird und der Rückgabetyp des Makros imaginär ist.Inhalt |
[edit] Parameter
| z | - | complex argument |
[edit] Rückgabewert
Wenn keine Fehler auftreten, wird der komplexe Arkussinus von z zurückgegeben, im Bereich eines Streifens, der entlang der imaginären Achse unbeschränkt ist, und im Intervall [−π/2; +π/2] entlang der reellen Achse.
Fehler und Sonderfälle werden behandelt, als ob die Operation von -I * casinh(I*z) implementiert würde.
[edit] Anmerkungen
Der Inverse Sinus (oder Arkussinus) ist eine mehrdeutige Funktion und erfordert einen Schnitt auf der komplexen Ebene. Der Schnitt wird konventionell auf den Liniensegmenten (-∞,-1) und (1,∞) der reellen Achse platziert.
Die mathematische Definition des Hauptwertes des Arkussinus ist arcsin z = -iln(iz + √1-z2
)
| π |
| 2 |
[edit] Beispiel
Führen Sie diesen Code aus
#include <stdio.h> #include <math.h> #include <complex.h> int main(void) { double complex z = casin(-2); printf("casin(-2+0i) = %f%+fi\n", creal(z), cimag(z)); double complex z2 = casin(conj(-2)); // or CMPLX(-2, -0.0) printf("casin(-2-0i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2)); // for any z, asin(z) = acos(-z) - pi/2 double pi = acos(-1); double complex z3 = csin(cacos(conj(-2))-pi/2); printf("csin(cacos(-2-0i)-pi/2) = %f%+fi\n", creal(z3), cimag(z3)); }
Ausgabe
casin(-2+0i) = -1.570796+1.316958i casin(-2-0i) (the other side of the cut) = -1.570796-1.316958i csin(cacos(-2-0i)-pi/2) = 2.000000+0.000000i
[edit] Referenzen
- C11-Standard (ISO/IEC 9899:2011)
- 7.3.5.2 The casin functions (S. 190)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
- G.7 Type-generic math <tgmath.h> (S: 545)
- C99-Standard (ISO/IEC 9899:1999)
- 7.3.5.2 The casin functions (S. 172)
- 7.22 Typ-generische Mathematik <tgmath.h> (S. 335-337)
- G.7 Type-generic math <tgmath.h> (S: 480)
[edit] Siehe auch
| (C99)(C99)(C99) |
berechnet den komplexen Arkuskosinus (Funktion) |
| (C99)(C99)(C99) |
berechnet den komplexen Arkustangens (Funktion) |
| (C99)(C99)(C99) |
berechnet den komplexen Sinus (Funktion) |
| (C99)(C99) |
berechnet Arkussinus (arcsin(x)) (Funktion) |
| C++ Dokumentation für asin
| |