Accelerating the pace of engineering and science

# besselk

Modified Bessel function of second kind

## Syntax

K = besselk(nu,Z)
K = besselk(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.

A solution Kν(z) of the second kind can be expressed as:

${K}_{\nu }\left(z\right)=\left(\frac{\pi }{2}\right)\frac{{I}_{-\nu }\left(z\right)-{I}_{\nu }\left(z\right)}{\mathrm{sin}\left(\nu \pi \right)},$

where Iν(z) and Iν(z) form a fundamental set of solutions of the modified Bessel's equation,

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

and Γ(a) is the gamma function. Kν(z) is independent of Iν(z).

Iν(z) can be computed using besseli.

## Description

K = besselk(nu,Z) computes the modified Bessel function of the second kind, Kν(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.

K = besselk(nu,Z,1) computes besselk(nu,Z).*exp(Z).

## Examples

expand all

### Column Vector of Function Values

Create a column vector of domain values.

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

Calculate the function values using besselk with nu = 1.

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

Inf
4.775972543220472
2.184354424732687
1.302834939763502
0.861781634472180
0.601907230197235

```

### Plot Modified Bessel Functions of Second Kind

Define the domain.

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

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

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

Plot the results.

```plot(X,K,'LineWidth',1.5)
axis([0 5 0 8])
grid on
legend('K_0','K_1','K_2','K_3','K_4','Location','Best')
title('Modified Bessel Functions of the Second Kind for v = 0,1,2,3,4')
xlabel('X')
ylabel('K_v(X)')
```

expand all

### Algorithms

The besselk function uses 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.