Freigeben über


Besselfunktionen: _j0, , _j1, _y0_jn, _y1_yn

Berechnet die Bessel-Funktion der ersten oder zweiten Art und der 0-ten, 1-ten oder n-ten Ordnung. Die Bessel-Funktionen werden in der mathematischen Behandlung von elektromagnetischen Wellen in breitem Umfang eingesetzt.

Syntax

double _j0(
   double x
);
double _j1(
   double x
);
double _jn(
   int n,
   double x
);
double _y0(
   double x
);
double _y1(
   double x
);
double _yn(
   int n,
   double x
);

Parameter

x
Gleitkommawert.

n
Ganzzahlige Ordnung der Bessel-Funktion.

Rückgabewert

Jede dieser Routinen gibt eine Bessel-Funktion von xzurück. Wenn x in der Funktion _y0, _y1oder _yn negativ ist, legt die Routine errno auf EDOMfest, gibt eine _DOMAIN -Fehlermeldung an stderraus, und gibt HUGE_VALzurück. Sie können die Fehlerbehandlung mithilfe von _matherrmodifizieren.

Hinweise

Die Routinen _j0, _j1und _jn geben Bessel-Funktionen der ersten Art zurück: der Ordnung 0, 1 bzw. n.

Eingabe SEH-Ausnahme _matherr-Ausnahme
± QNaN, IND INVALID _DOMAIN

Die Routinen _y0, _y1und _yn geben Bessel-Funktionen der zweiten Art zurück: der Ordnung 0, 1 bzw. n.

Eingabe SEH-Ausnahme _matherr-Ausnahme
± QNaN, IND INVALID _DOMAIN
± 0 ZERODIVIDE _SING
|x| < 0.0 INVALID _DOMAIN

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.

Anforderungen

Routine Erforderlicher Header
_j0, , _j1_jn, _y0, , _y1_yn <cmath> (C++), <math.h> (C, C++)

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Beispiel

// crt_bessel1.c
#include <math.h>
#include <stdio.h>

int main( void )
{
   double x = 2.387;
   int n = 3, c;

   printf( "Bessel functions for x = %f:\n", x );
   printf( "   Kind   Order  Function     Result\n\n" );
   printf( "   First  0      _j0( x )     %f\n", _j0( x ) );
   printf( "   First  1      _j1( x )     %f\n", _j1( x ) );
   for( c = 2; c < 5; c++ )
      printf( "   First  %d      _jn( %d, x )  %f\n", c, c, _jn( c, x ) );
   printf( "   Second 0      _y0( x )     %f\n", _y0( x ) );
   printf( "   Second 1      _y1( x )     %f\n", _y1( x ) );
   for( c = 2; c < 5; c++ )
      printf( "   Second %d      _yn( %d, x )  %f\n", c, c, _yn( c, x ) );
}
Bessel functions for x = 2.387000:
   Kind   Order  Function     Result

   First  0      _j0( x )     0.009288
   First  1      _j1( x )     0.522941
   First  2      _jn( 2, x )  0.428870
   First  3      _jn( 3, x )  0.195734
   First  4      _jn( 4, x )  0.063131
   Second 0      _y0( x )     0.511681
   Second 1      _y1( x )     0.094374
   Second 2      _yn( 2, x )  -0.432608
   Second 3      _yn( 3, x )  -0.819314
   Second 4      _yn( 4, x )  -1.626833

Siehe auch

Mathematische Unterstützung und Gleitkommaunterstützung
_matherr