Chapter 9: Special Functions

bessel_J0

Evaluates the real Bessel function of the first kind of order zero J0(x).

Synopsis

#include <imsl.h>

float imsl_f_bessel_J0 (float x)

The type double procedure is imsl_d_bessel_J0.

Required Arguments

float x   (Input)
Point at which the Bessel function is to be evaluated.

Return Value

The value of the Bessel function

If no solution can be computed, NaN is returned.

Description

Because the Bessel function J0(x) is oscillatory, its computation becomes inaccurate as |x| increases.

Figure 9- 9   Plot of J0 (x) and J1 (x)

Example

The Bessel function J0(1.5) is evaluated.

#include <imsl.h>

main()
{
    float       x = 1.5;
    float       ans;

    ans = imsl_f_bessel_J0(x);
    printf("J0(%f) = %f\n", x, ans);
}

Output

J0(1.500000) = 0.511828

Warning Errors

IMSL_LARGE_ABS_ARG_WARN                  |x| should be less than
where ɛ is the machine precision, to prevent the answer from being less accurate than half precision.

Fatal Errors

IMSL_LARGE_ABS_ARG_FATAL                |x| should be less than 1/ɛ where ɛ is the machine precision for the answer to have any precision.


Visual Numerics, Inc.
Visual Numerics - Developers of IMSL and PV-WAVE
http://www.vni.com/
PHONE: 713.784.3131
FAX:713.781.9260