# Documentation

### This is machine translation

Translated by
Mouse over text to see original. Click the button below to return to the English verison of the page.

# randsrc

Generate random matrix using prescribed alphabet

## Syntax

`out = randsrcout = randsrc(m)out = randsrc(m,n)out = randsrc(m,n,alphabet)out = randsrc(m,n,[alphabet; prob])out = randsrc(m,n,...,state);out = randsrc(m,n,...,s);`

## 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 1.

`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`.

 Note:   This usage is deprecated and may be removed in a future release. Instead of `state`, use `s`, as in the following example.

This function uses, by default, the Mersenne Twister algorithm by Nishimura and Matsumoto.

 Note:   Using the `state` parameter causes this function to switch random generators to use the `'state'` algorithm of the `rand` function.See `rand` for details on the generator algorithm.

`out = randsrc(m,n,...,s);` causes rand to use the random stream s. See RandStream for more details.

## Examples

collapse all

Generate a 10-by-10 matrix from the set of {-3,-1,1,3}.

```out = randsrc(10,10,[-3 -1 1 3]) ```
```out = 3 -3 1 1 -1 -1 3 3 -1 -3 3 3 -3 -3 -1 1 -1 -1 3 -3 -3 3 3 -1 3 1 1 3 1 1 3 -1 3 -3 3 -3 1 -3 1 3 1 3 1 -3 -3 -3 3 3 3 3 -3 -3 3 3 -1 -1 3 -1 -1 -3 -1 -1 1 1 -1 3 1 -3 3 1 1 3 -1 -1 1 -1 -3 -1 3 -1 3 3 1 3 1 1 -3 1 -1 -3 3 3 -3 -3 3 -3 -1 -1 1 -1 ```

Plot the histogram. Each of the four possible element values occur with equal probability. Your values may differ.

```histogram(out,[-4 -2 0 2 4]) ```

Generate a matrix in which the likelihood of a -1 or 1 is four times higher than the likelihood of a -3 or 3.

```out = randsrc(10,10,[-3 -1 1 3; 0.1 0.4 0.4 0.1]) ```
```out = -1 -1 -1 -1 1 -1 1 -1 1 3 1 -3 3 3 1 -3 -1 -1 -1 1 -1 -1 -3 -1 -1 3 -1 1 1 -1 1 3 1 -1 1 3 -1 -3 -1 -1 -1 -1 1 -1 -1 -1 -3 -3 1 -1 1 1 1 -1 -3 -1 -1 -1 -1 -1 -1 1 -3 1 -1 -1 3 1 -1 1 1 3 -1 1 -1 3 3 1 1 1 1 -3 -1 1 -1 -1 1 1 1 1 1 -1 1 -1 -1 -1 -3 -1 -3 1 ```

Plot the histogram. Values of -1 and 1 are more likely.

```histogram(out,[-4 -2 0 2 4]) ```