Fonctions Bessel : _j0
, , _jn
_j1
_y0
, , _y1
_yn
Calcule la fonction de Bessel de première ou deuxième espèce, d’ordre 0, 1 ou n. Les fonctions de Bessel sont couramment utilisées dans les calculs mathématiques de la théorie sur les ondes électromagnétiques.
Syntaxe
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
);
Paramètres
x
Valeur à virgule flottante.
n
Ordre d’entier de la fonction de Bessel.
Valeur retournée
Chacune de ces routines retourne une fonction de Bessel de x
. Si x
est négatif dans la fonction _y0
, _y1
ou _yn
, la routine affecte la valeur errno
à EDOM
, affiche un message d’erreur _DOMAIN
dans stderr
, et retourne HUGE_VAL
. Vous pouvez modifier la gestion des erreurs à l’aide de _matherr
.
Notes
Les routines _j0
, _j1
et _jn
retournent des fonctions de Bessel de première espèce : respectivement d’ordre 0, 1 et n.
Input | Exception SEH | Exception _matherr |
---|---|---|
± QNaN, IND | INVALID |
_DOMAIN |
Les routines _y0
, _y1
et _yn
retournent des fonctions de Bessel de deuxième espèce : respectivement d’ordre 0, 1 et n.
Input | Exception SEH | Exception _matherr |
---|---|---|
± QNaN, IND | INVALID |
_DOMAIN |
± 0 | ZERODIVIDE |
_SING |
|x| < 0.0 |
INVALID |
_DOMAIN |
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Spécifications
Routine | En-tête requis |
---|---|
_j0 , , _j1 , _y0 _jn , , _y1 _yn |
<cmath> (C++), <math.h> (C, C++) |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// 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
Voir aussi
Prise en charge des fonctions mathématiques et à virgule flottante
_matherr