Bessel Functions

The Bessel functions are commonly used in the mathematics of electromagnetic wave theory.

_j0, _j1, _jn

These routines return Bessel functions of the first kind: orders 0, 1, and n, respectively.

_y0, _y1, _yn

These routines return Bessel functions of the second 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

See Also   _matherr