Main Content


Negative binomial inverse cumulative distribution function


X = nbininv(Y,R,P)


X = nbininv(Y,R,P) returns the inverse of the negative binomial cdf with corresponding number of successes, R and probability of success in a single trial, P. Since the binomial distribution is discrete, nbininv returns the least integer X such that the negative binomial cdf evaluated at X equals or exceeds Y. Y, R, and P can be vectors, matrices, or multidimensional arrays that all have the same size, which is also the size of X. A scalar input for Y, R, or P is expanded to a constant array with the same dimensions as the other inputs.

The simplest motivation for the negative binomial is the case of successive random trials, each having a constant probability P of success. The number of extra trials you must perform in order to observe a given number R of successes has a negative binomial distribution. However, consistent with a more general interpretation of the negative binomial, nbininv allows R to be any positive value, including nonintegers.


How many times would you need to flip a fair coin to have a 99% probability of having observed 10 heads?

flips = nbininv(0.99,10,0.5) + 10
flips =

Note that you have to flip at least 10 times to get 10 heads. That is why the second term on the right side of the equals sign is a 10.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced before R2006a