Main Content

Multinomial random numbers

`r = mnrnd(n,p)`

R = mnrnd(n,p,m)

R = mnrnd(N,P)

`r = mnrnd(n,p)`

returns random values `r`

from
the multinomial distribution with parameters `n`

and `p`

. `n`

is
a positive integer specifying the number of trials (sample size) for
each multinomial outcome. `p`

is a 1-by-*k* vector
of multinomial probabilities, where *k* is the number
of multinomial bins or categories. `p`

must sum to
one. (If `p`

does not sum to one, `r`

consists
entirely of `NaN`

values.) `r`

is
a 1-by-*k* vector, containing counts for each of
the *k* multinomial bins.

`R = mnrnd(n,p,m)`

returns `m`

random
vectors from the multinomial distribution with parameters `n`

and `p`

. `R`

is
a `m`

-by-*k* matrix, where *k* is
the number of multinomial bins or categories. Each row of `R`

corresponds
to one multinomial outcome.

`R = mnrnd(N,P)`

generates outcomes from
different multinomial distributions. `P`

is a *m*-by-*k* matrix,
where *k* is the number of multinomial bins or categories
and each of the *m* rows contains a different set
of multinomial probabilities. Each row of `P`

must
sum to one. (If any row of `P`

does not sum to one,
the corresponding row of `R`

consists entirely of `NaN`

values.) `N`

is
a *m*-by-1 vector of positive integers or a single
positive integer (replicated by `mnrnd`

to a *m*-by-1
vector). `R`

is a `m`

-by-*k* matrix.
Each row of `R`

is generated using the corresponding
rows of `N`

and `P`

.

Generate 2 random vectors with the same probabilities:

n = 1e3; p = [0.2,0.3,0.5]; R = mnrnd(n,p,2) R = 215 282 503 194 303 503

Generate 2 random vectors with different probabilities:

n = 1e3; P = [0.2, 0.3, 0.5; ... 0.3, 0.4, 0.3;]; R = mnrnd(n,P) R = 186 290 524 290 389 321