Accelerating the pace of engineering and science

# besseli

Modified Bessel function of first kind

## Syntax

I = besseli(nu,Z)
I = besseli(nu,Z,1)

## Definitions

The differential equation

${z}^{2}\frac{{d}^{2}y}{d{z}^{2}}+z\frac{dy}{dz}-\left({z}^{2}+{\nu }^{2}\right)y=0,$

where ν is a real constant, is called the modified Bessel's equation, and its solutions are known as modified Bessel functions.

Iν(z) and Iν(z) form a fundamental set of solutions of the modified Bessel's equation. Iν(z) is defined by

${I}_{\nu }\left(z\right)={\left(\frac{z}{2}\right)}^{\nu }\sum _{\left(k=0\right)}^{\infty }\frac{{\left(\frac{{z}^{2}}{4}\right)}^{k}}{k!\Gamma \left(\nu +k+1\right)},$

where Γ(a) is the gamma function.

Kν(z) is a second solution, independent of Iν(z). It can be computed using besselk.

## Description

I = besseli(nu,Z) computes the modified Bessel function of the first kind, Iν(z), for each element of the array Z. The order nu need not be an integer, but must be real. The argument Z can be complex. The result is real where Z is positive.

If nu and Z are arrays of the same size, the result is also that size. If either input is a scalar, it is expanded to the other input's size.

I = besseli(nu,Z,1) computes besseli(nu,Z).*exp(-abs(real(Z))).

## Examples

expand all

### Vector of Function Values

Create a column vector of domain values.

```z = (0:0.2:1)';
```

Calculate the function values using besseli with nu = 1.

```format long
besseli(1,z)
```
```ans =

0
0.100500834028125
0.204026755733571
0.313704025604922
0.432864802620640
0.565159103992485

```

### Plot Modified Bessel Functions of First Kind

Define the domain.

```X = 0:0.01:5;
```

Calculate the first five modified Bessel functions of the first kind.

```I = zeros(5,501);
for i = 0:4
I(i+1,:) = besseli(i,X);
end
```

Plot the results.

```plot(X,I,'LineWidth',1.5)
axis([0 5 0 8])
grid on
legend('I_0','I_1','I_2','I_3','I_4','Location','Best')
title('Modified Bessel Functions of the First Kind for v = 0,1,2,3,4')
xlabel('X')
ylabel('I_v(X)')
```

expand all

### Algorithms

The besseli functions use a Fortran MEX-file to call a library developed by D.E. Amos [3] [4].

## References

[1] Abramowitz, M., and I.A. Stegun, Handbook of Mathematical Functions, National Bureau of Standards, Applied Math. Series #55, Dover Publications, 1965, sections 9.1.1, 9.1.89, and 9.12, formulas 9.1.10 and 9.2.5.

[2] Carrier, Krook, and Pearson, Functions of a Complex Variable: Theory and Technique, Hod Books, 1983, section 5.5.

[3] Amos, D.E., "A Subroutine Package for Bessel Functions of a Complex Argument and Nonnegative Order," Sandia National Laboratory Report, SAND85-1018, May, 1985.

[4] Amos, D.E., "A Portable Package for Bessel Functions of a Complex Argument and Nonnegative Order," Trans. Math. Software, 1986.