Skip to content

Latest commit

 

History

History

j1

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

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

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

Usage

var j1 = require( '@stdlib/math/base/special/besselj1' );

j1( x )

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

var v = j1( 0.0 );
// returns 0.0

v = j1( 1.0 );
// returns ~0.440

v = j1( Infinity );
// returns 0.0

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

v = j1( NaN );
// returns NaN

Examples

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

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

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

C APIs

Usage

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

stdlib_base_besselj1( x )

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

double out = stdlib_base_besselj1( 0.0 );
// returns 0.0

out = stdlib_base_besselj1( 1.0 );
// returns ~0.440

The function accepts the following arguments:

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

Examples

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

int main( void ) {
    const double x[] = { 0.0, 0.005, 3.14, 10.0, 51.125, 99.99, 100.0 };
    double v;
    int i;

    for ( i = 0; i < 7; i++ ) {
        v = stdlib_base_besselj1( x[ i ] );
        printf( "besselj1(%lf) = %lf\n", x[ i ], v );
    }
}

See Also