|
回复 7楼 maigicku 的帖子
研究下这个就该差不多了吧
mnrnd
Multinomial random numbers
Syntax
r = mnrnd(n,p)
R = mnrnd(n,p,m)
R = mnrnd(N,P)
Description
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.
Example
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 |
|