Skip to content

Latest commit

 

History

History

j0

Compute the Bessel function of the first kind of order zero.

The Bessel function of the first kind of order zero is defined as

$$J_0 (x) = \frac{1}{2 \pi} \int_{-\pi}^\pi e^{- i x \sin(\tau)} \,d\tau.$$

Usage

var j0 = require( '@stdlib/math/base/special/besselj0' );

j0( x )

Computes the Bessel function of the first kind of order zero at x.

var v = j0( 0.0 );
// returns 1.0

v = j0( 1.0 );
// returns ~0.765

v = j0( Infinity );
// returns 0.0

v = j0( -Infinity );
// returns 0.0

v = j0( NaN );
// returns NaN

Examples

var uniform = require( '@stdlib/random/array/uniform' );
var logEachMap = require( '@stdlib/console/log-each-map' );
var besselj0 = require( '@stdlib/math/base/special/besselj0' );

var opts = {
    'dtype': 'float64'
};
var x = uniform( 100, 0.0, 100.0, opts );

logEachMap( 'besselj0(%0.4f) = %0.4f', x, besselj0 );

C APIs

Usage

#include "stdlib/math/base/special/besselj0.h"

stdlib_base_besselj0( x )

Computes the Bessel function of the first kind of order zero at x.

double out = stdlib_base_besselj0( 0.0 );
// returns 1.0

out = stdlib_base_besselj0( 1.0 );
// returns ~0.765

The function accepts the following arguments:

  • x: [in] double input value.
double stdlib_base_besselj0( const double x );

Examples

#include "stdlib/math/base/special/besselj0.h"
#include <stdio.h>

int main( void ) {
    const double x[] = { 0.0, 1.0, 2.0, 3.0, 4.0 };

    double y;
    int i;
    for ( i = 0; i < 5; i++ ) {
        y = stdlib_base_besselj0( x[ i ] );
        printf( "besselj0(%lf) = %lf\n", x[ i ], y );
    }
}

See Also