std::cyl_bessel_k, std::cyl_bessel_kf, std::cyl_bessel_kl
| Definiert in der Header-Datei <cmath> |
||
| (1) | ||
float cyl_bessel_k ( float nu, float x ); double cyl_bessel_k ( double nu, double x ); long double cyl_bessel_k ( long double nu, long double x ); |
(seit C++17) (bis C++23) |
|
| /* floating-point-type */ cyl_bessel_k( /* floating-point-type */ nu, /* Gleitkommazahl-Typ */ x ); |
(seit C++23) | |
| float cyl_bessel_kf( float nu, float x ); |
(2) | (seit C++17) |
| long double cyl_bessel_kl( long double nu, long double x ); |
(3) | (seit C++17) |
| Definiert in der Header-Datei <cmath> |
||
| template< class Arithmetic1, class Arithmetic2 > /* common-floating-point-type */ |
(A) | (seit C++17) |
std::cyl_bessel_k für alle cv-unqualifizierten Gleitkommatypen als Typ der Parameter nu und x bereit.(seit C++23)Inhalt |
[edit] Parameter
| nu | - | die Ordnung der Funktion |
| x | - | das Argument der Funktion |
[edit] Rückgabewert
Wenn keine Fehler auftreten, wird der Wert der modifizierten modifizierten zylindrischen Besselfunktion (modifizierte Besselfunktion zweiter Art) von nu und x zurückgegeben, d.h. Knu(x) =| π |
| 2 |
| I-nu(x)-Inu(x) |
| sin(nuπ) |
[edit] Fehlerbehandlung
Fehler können wie in math_errhandling angegeben gemeldet werden.
- Wenn das Argument NaN ist, wird NaN zurückgegeben und kein Domänenfehler gemeldet.
- Wenn nu≥128, ist das Verhalten implementierungsabhängig.
[edit] Anmerkungen
Implementierungen, die C++17 nicht unterstützen, aber ISO 29124:2010 unterstützen, stellen diese Funktion bereit, wenn __STDCPP_MATH_SPEC_FUNCS__ von der Implementierung auf einen Wert von mindestens 201003L definiert wird und wenn der Benutzer __STDCPP_WANT_MATH_SPEC_FUNCS__ definiert, bevor er beliebige Standardbibliotheks-Header einschließt.
Implementierungen, die ISO 29124:2010 nicht unterstützen, aber TR 19768:2007 (TR1) unterstützen, stellen diese Funktion im Header tr1/cmath im Namespace std::tr1 bereit.
Eine Implementierung dieser Funktion ist auch in boost.math verfügbar.
Die zusätzlichen Überladungen müssen nicht exakt wie (A) angegeben werden. Sie müssen nur ausreichen, um sicherzustellen, dass für ihr erstes Argument num1 und ihr zweites Argument num2
|
(bis C++23) |
|
Wenn num1 und num2 arithmetische Typen haben, hat std::cyl_bessel_k(num1, num2) denselben Effekt wie std::cyl_bessel_k(static_cast</* gemeinsamer-Gleitkommatyp */>(num1), Wenn kein solcher Gleitkommazahltyp mit dem höchsten Rang und Subrang existiert, dann führt die Überladungsauflösung nicht zu einem nutzbaren Kandidaten aus den bereitgestellten Überladungen. |
(seit C++23) |
[edit] Beispiel
#include <cmath> #include <iostream> #include <numbers> int main() { double pi = std::numbers::pi; const double x = 1.2345; // spot check for nu == 0.5 std::cout << "K_.5(" << x << ") = " << std::cyl_bessel_k(.5, x) << '\n' << "calculated via I = " << (pi / 2) * (std::cyl_bessel_i(-.5, x) - std::cyl_bessel_i(.5, x)) / std::sin(.5 * pi) << '\n'; }
Ausgabe
K_.5(1.2345) = 0.32823 calculated via I = 0.32823
[edit] Siehe auch
| (C++17)(C++17)(C++17) |
reguläre modifizierte zylindrische Besselfunktionen (Funktion) |
| (C++17)(C++17)(C++17) |
zylindrische Besselfunktionen (erster Art) (Funktion) |
[edit] Externe Links
| Weisstein, Eric W. "Modified Bessel Function of the Second Kind." Von MathWorld – Eine Wolfram Web Resource. |