Documentation Center

  • Trial Software
  • Product Updates

besseli

Modified Bessel function of the first kind

Syntax

besseli(nu,z)

Description

besseli(nu,z) returns the modified Bessel function of the first kind, Iν(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 modified 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 modified Bessel function of the first kind for each element of z.

Examples

Solve this second-order differential equation. The solutions are the modified 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*besseli(nu, z) + C3*besselk(nu, z)
 

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

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

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

[besseli(0, 5), besseli(-1, 2), besseli(1/3, 7/4),  besseli(1, 3/2 + 2*i)]
ans =
  27.2399             1.5906             1.7951            -0.1523 + 1.0992i
 

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

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

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

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

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

syms x
besseli(1/2, x)
ans =
(2^(1/2)*sinh(x))/(pi^(1/2)*x^(1/2))
besseli(-1/2, x)
ans =
(2^(1/2)*cosh(x))/(pi^(1/2)*x^(1/2))
besseli(-3/2, x)
ans =
(2^(1/2)*(sinh(x) - cosh(x)/x))/(pi^(1/2)*x^(1/2))
besseli(5/2, x)
ans =
-(2^(1/2)*((3*cosh(x))/x - sinh(x)*(3/x^2 + 1)))/(pi^(1/2)*x^(1/2))
 

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

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

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

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

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

syms x y
for nu =[0, 1, 2, 3]
  ezplot(besseli(nu, x) - y, [0, 4, -0.1, 4])
  colormap([0 0 1])
  hold on
end
title('Modified Bessel functions of the first kind')
ylabel('besselI(x)')
grid
hold off

More About

expand all

Modified Bessel Functions of the First Kind

The modified Bessel differential equation

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

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

Tips

  • Calling besseli for a number that is not a symbolic object invokes the MATLAB® besseli 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, besseli(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?