Main Content

Uniformly distributed random numbers

`X = rand`

returns a single uniformly distributed
random number in the interval (0,1).

`X = rand(`

returns
an `sz1,...,szN`

)`sz1`

-by-...-by-`szN`

array of
random numbers where `sz1,...,szN`

indicate the size
of each dimension. For example, `rand(3,4)`

returns
a 3-by-4 matrix.

`X = rand(___,`

returns
an array of random numbers of data type `typename`

)`typename`

.
The `typename`

input can be either `'single'`

or `'double'`

.
You can use any of the input arguments in the previous syntaxes.

`X = rand(`

generates
numbers from random number stream `s`

,___)`s`

instead of the default global
stream. To create a stream, use `RandStream`

. Specify `s`

followed by any of the
argument combinations in previous syntaxes, except for the ones that involve
`'like'`

. This syntax does not support the `'like'`

input.

**Note**

The `'seed'`

, `'state'`

, and
`'twister'`

inputs to the `rand`

function are not
recommended. Use the `rng`

function instead. For more
information, see Replace Discouraged Syntaxes of rand and randn.

The sequence of numbers produced by

`rand`

is determined by the internal settings of the uniform pseudorandom number generator that underlies`rand`

,`randi`

, and`randn`

. You can control that shared random number generator using`rng`

.