Bessel Functions: _j0, _j1, _jn
Compute the Bessel function.
double_j0(doublex**);**
double_j1(doublex**);**
double_jn(intn**,doublex);**
Routine | Required Header | Compatibility |
_j0 | <math.h> | Win 95, Win NT |
_j1 | <math.h> | Win 95, Win NT |
_jn | <math.h> | Win 95, Win NT |
For additional compatibility information, see Compatibility in the Introduction.
Libraries
LIBC.LIB | Single thread static library, retail version |
LIBCMT.LIB | Multithread static library, retail version |
MSVCRT.LIB | Import library for MSVCRT.DLL, retail version |
Return Value
Each of these routines returns a Bessel function of x. You can modify error handling by using _matherr.
Parameters
x
Floating-point value
n
Integer order of Bessel function
Remarks
The _j0, _j1, and _jn routines return Bessel functions of the first kind: orders 0, 1, and n, respectively.
Example
/* BESSEL.C: This program illustrates Bessel functions,
* including: _j0 _j1 _jn _y0 _y1 _yn
*/
#include <math.h>
#include <stdio.h>
void main( void )
{
double x = 2.387;
int n = 3, c;
printf( "Bessel functions for x = %f:\n", x );
printf( " Kind\t\tOrder\tFunction\tResult\n\n" );
printf( " First\t\t0\t_j0( x )\t%f\n", _j0( x ) );
printf( " First\t\t1\t_j1( x )\t%f\n", _j1( x ) );
for( c = 2; c < 5; c++ )
printf( " First\t\t%d\t_jn( n, x )\t%f\n", c, _jn( c, x ) );
printf( " Second\t0\t_y0( x )\t%f\n", _y0( x ) );
printf( " Second\t1\t_y1( x )\t%f\n", _y1( x ) );
for( c = 2; c < 5; c++ )
printf( " Second\t%d\t_yn( n, x )\t%f\n", c, _yn( c, x ) );
}
Output
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( n, x ) 0.428870
First 3 _jn( n, x ) 0.195734
First 4 _jn( n, x ) 0.063131
Second 0 _y0( x ) 0.511681
Second 1 _y1( x ) 0.094374
Second 2 _yn( n, x ) -0.432608
Second 3 _yn( n, x ) -0.819314
Second 4 _yn( n, x ) -1.626833
Floating-Point Support Routines | Bessel Functions
See Also _matherr