This topic has not yet been rated - Rate this topic

# Bessel Functions: _j0, _j1, _jn

Visual Studio 6.0

Compute the Bessel function.

double _j0( double x );

double _j1( double x );

double _jn( int n, double x );

 Routine Required Header Compatibility _j0 Win 95, Win NT _j1 Win 95, Win NT _jn 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

``````