Discrete uniform inverse cumulative distribution function

`X = unidinv(P,N)`

`X = unidinv(P,N)`

returns
the smallest positive integer `X`

such that the discrete
uniform cdf evaluated at `X`

is equal to or exceeds `P`

.
You can think of `P`

as the probability of drawing
a number as large as `X`

out of a hat with the numbers `1`

through `N`

inside.

`P`

and `N`

can be vectors,
matrices, or multidimensional arrays that have the same size, which
is also the size of `X`

. A scalar
input for `N`

or `P`

is expanded
to a constant array with the same dimensions as the other input. The
values in `P`

must lie on the interval [0 1]
and the values in `N`

must be positive integers.

x = unidinv(0.7,20) x = 14 y = unidinv(0.7 + eps,20) y = 15

A small change in the first parameter produces a large jump in output. The cdf and its inverse are both step functions. The example shows what happens at a step.

Was this topic helpful?