Communications Toolbox | ![]() ![]() |
Generate random matrix using prescribed alphabet
Syntax
out = randsrc; out = randsrc(m); out = randsrc(m,n); out = randsrc(m,n,alphabet); out = randsrc(m,n,[alphabet; prob]); out = randsrc(m,n,...,state);
Description
out = randsrc
generates a random scalar that is either -1 or 1, with equal probability.
out = randsrc(m)
generates an m
-by-m
matrix, each of whose entries independently takes the value -1 with probability 1/2, and 1 with probability 1/2.
out = randsrc(m,n)
generates an m
-by-n
matrix, each of whose entries independently takes the value -1 with probability 1/2, and 1 with probability 1/2.
out = randsrc(m,n,alphabet)
generates an m
-by-n
matrix, each of whose entries is independently chosen from the entries in the row vector alphabet
. Each entry in alphabet
occurs in out
with equal probability. Duplicate values in alphabet
are ignored.
out = randsrc(m,n,[alphabet; prob])
generates an m
-by-n
matrix, each of whose entries is independently chosen from the entries in the row vector alphabet
. Duplicate values in alphabet
are ignored. The row vector prob
lists corresponding probabilities, so that the symbol alphabet(k)
occurs with probability prob(k)
, where k
is any integer between one and the number of columns of alphabet
. The elements of prob
must add up to one.
out = randsrc(m,n,...,state);
is the same as the two preceding syntaxes, except that it first resets the state of the uniform random number generator rand
to the integer state
.
Examples
To generate a 10-by-10 matrix whose elements are uniformly distributed among members of the set {-3,-1,1,3}, you can use either of these commands.
To skew the probability distribution so that -1 and 1 each occur with probability .3, while -3 and 3 each occur with probability .2, use this command.
See Also
rand
, randint
, randerr
![]() | randint | rcosfir | ![]() |