besselj

Bessel function of the first kind

Syntax

besselj(nu,z)

Description

besselj(nu,z) returns the Bessel function of the first kind, Jν(z).

Input Arguments

nu

Symbolic number, variable, expression, function, or a vector or matrix of symbolic numbers, variables, expressions, or functions. If nu is a vector or matrix, besseli returns the Bessel function of the first kind for each element of nu.

z

Symbolic number, variable, expression, or function, or a vector or matrix of symbolic numbers, variables, expressions, or functions. If z is a vector or matrix, besseli returns the Bessel function of the first kind for each element of z.

Examples

Solve this second-order differential equation. The solutions are the Bessel functions of the first and the second kind.

syms nu w(z)
dsolve(z^2*diff(w, 2) + z*diff(w) +(z^2 - nu^2)*w == 0)
ans =
C2*besselj(nu, z) + C3*bessely(nu, z)

Verify that the Bessel function of the first kind is a valid solution of the Bessel differential equation:

syms nu z
simplify(z^2*diff(besselj(nu, z), z, 2) + z*diff(besselj(nu, z), z)...
 + (z^2 - nu^2)*besselj(nu, z)) == 0
ans =
     1

Compute the Bessel functions of the first kind for these numbers. Because these numbers are not symbolic objects, you get floating-point results.

[besselj(0, 5), besselj(-1, 2), besselj(1/3, 7/4),...
  besselj(1, 3/2 + 2*i)]
ans =
  -0.1776 + 0.0000i  -0.5767 + 0.0000i   0.5496 + 0.0000i   1.6113 + 0.3982i

Compute the Bessel functions of the first kind for the numbers converted to symbolic objects. For most symbolic (exact) numbers, besselj returns unresolved symbolic calls.

[besselj(sym(0), 5), besselj(sym(-1), 2),...
 besselj(1/3, sym(7/4)),  besselj(sym(1), 3/2 + 2*i)]
ans =
[ besselj(0, 5), -besselj(1, 2), besselj(1/3, 7/4), besselj(1, 3/2 + 2*i)]

For symbolic variables and expressions, besselj also returns unresolved symbolic calls:

syms x y
[besselj(x, y), besselj(1, x^2), besselj(2, x - y), besselj(x^2, x*y)]
ans =
[ besselj(x, y), besselj(1, x^2), besselj(2, x - y), besselj(x^2, x*y)]

If the first parameter is an odd integer multiplied by 1/2, besselj rewrites the Bessel functions in terms of elementary functions:

syms x
besselj(1/2, x)
ans =
(2^(1/2)*sin(x))/(pi^(1/2)*x^(1/2))
besselj(-1/2, x)
ans =
(2^(1/2)*cos(x))/(pi^(1/2)*x^(1/2))
besselj(-3/2, x)
ans =
-(2^(1/2)*(sin(x) + cos(x)/x))/(pi^(1/2)*x^(1/2))
besselj(5/2, x)
ans =
-(2^(1/2)*((3*cos(x))/x - sin(x)*(3/x^2 - 1)))/(pi^(1/2)*x^(1/2))

Differentiate the expressions involving the Bessel functions of the first kind:

syms x y
diff(besselj(1, x))
diff(diff(besselj(0, x^2 + x*y -y^2), x), y)
ans =
besselj(0, x) - besselj(1, x)/x
 
ans =
- besselj(1, x^2 + x*y - y^2) -...
(2*x + y)*(besselj(0, x^2 + x*y - y^2)*(x - 2*y) -...
(besselj(1, x^2 + x*y - y^2)*(x - 2*y))/(x^2 + x*y - y^2))

Call besselj for the matrix A and the value 1/2. The result is a matrix of the Bessel functions besselj(1/2, A(i,j)).

syms x
A = [-1, pi; x, 0];
besselj(1/2, A)
ans =
[         (2^(1/2)*sin(1)*i)/pi^(1/2), 0]
[ (2^(1/2)*sin(x))/(pi^(1/2)*x^(1/2)), 0]

Plot the Bessel functions of the first kind for ν = 0, 1, 2, 3:

syms x y
for nu = [0, 1, 2, 3]
  ezplot(besselj(nu, x), [0, 10])
  hold on
end
axis([0, 10, -0.5, 1.1])
grid on
ylabel('J_v(x)')
legend('J_0','J_1','J_2','J_3', 'Location','Best')
title('Bessel functions of the first kind')
hold off

More About

expand all

Bessel Functions of the First Kind

The Bessel differential equation

z2d2wdz2+zdwdz+(z2ν2)w=0

has two linearly independent solutions. These solutions are represented by the Bessel functions of the first kind, Jν(z), and the Bessel functions of the second kind, Yν(z):

w(z)=C1Jν(z)+C2Yν(z)

This formula is the integral representation of the Bessel functions of the first kind:

Jν(z)=(z/2)νπΓ(ν+1/2)0πcos(zcos(t))sin(t)2νdt

Tips

  • Calling besselj for a number that is not a symbolic object invokes the MATLAB® besselj function.

  • At least one input argument must be a scalar or both arguments must be vectors or matrices of the same size. If one input argument is a scalar and the other one is a vector or a matrix, besselj(nu,z) expands the scalar into a vector or matrix of the same size as the other argument with all elements equal to that scalar.

References

[1] Olver, F. W. J. "Bessel Functions of Integer Order." Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. (M. Abramowitz and I. A. Stegun, eds.). New York: Dover, 1972.

[2] Antosiewicz, H. A. "Bessel Functions of Fractional Order." Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. (M. Abramowitz and I. A. Stegun, eds.). New York: Dover, 1972.

See Also

| | |

Was this topic helpful?