# marcumq

Generalized Marcum Q function

## Syntax

`Q = marcumq(a,b)Q = marcumq(a,b,m)`

## Description

`Q = marcumq(a,b)` computes the Marcum Q function of `a` and `b`, defined by

$Q\left(a,b\right)={\underset{b}{\overset{\infty }{\int }}x\mathrm{exp}\left(-\frac{{x}^{2}+{a}^{2}}{2}\right)}^{}{I}_{0}\left(ax\right)dx$

where `a` and `b` are nonnegative real numbers. In this expression, I0 is the modified Bessel function of the first kind of zero order.

`Q = marcumq(a,b,m)` computes the generalized Marcum Q, defined by

${Q}_{}\left(a,b\right)=\frac{1}{{a}^{m-1}}\underset{b}{\overset{\infty }{\int }}{x}^{m}\mathrm{exp}\left(-\frac{{x}^{2}+{a}^{2}}{2}\right){I}_{m-1}\left(ax\right)dx$

where `a` and `b` are nonnegative real numbers, and `m` is a positive integer. In this expression, Im-1 is the modified Bessel function of the first kind of order m-1.

If any of the inputs is a scalar, it is expanded to the size of the other inputs.

## Examples

collapse all

### Generate and Plot Marcum Q Function Data

This example shows how to use the `marcumq` function.

Create an input vector, `x`.

```x = (0:0.1:10)'; ```

Generate two output vectors for a=0 and a=2.

```Q1 = marcumq(0,x); Q2 = marcumq(2,x); ```

Plot the resultant Marcum Q functions.

```plot(x,[Q1 Q2]) ```

## References

[1] Cantrell, P. E., and A. K. Ojha, "Comparison of Generalized Q-Function Algorithms," IEEE Transactions on Information Theory, Vol. IT-33, July, 1987, pp. 591–596.

[2] Marcum, J. I., "A Statistical Theory of Target Detection by Pulsed Radar: Mathematical Appendix," RAND Corporation, Santa Monica, CA, Research Memorandum RM-753, July 1, 1948. Reprinted in IRE Transactions on Information Theory, Vol. IT-6, April, 1960, pp. 59–267.

[3] Shnidman, D. A., "The Calculation of the Probability of Detection and the Generalized Marcum Q-Function," IEEE Transactions on Information Theory, Vol. IT-35, March, 1989, pp. 389–400.