# Random Number

Generate normally distributed random numbers

Sources

## Description

The Random Number block generates normally distributed random numbers. To generate uniformly distributed random numbers, use the Uniform Random Number block.

You can generate a repeatable sequence using any Random Number block with the same nonnegative seed and parameters. The seed resets to the specified value each time a simulation starts. By default, the block produces a sequence that has a mean of 0 and a variance of 1. To generate a vector of random numbers with the same mean and variance, specify the Seed parameter as a vector.

Avoid integrating a random signal, because solvers must integrate relatively smooth signals. Instead, use the Band-Limited White Noise block.

The numeric parameters of this block must have the same dimensions after scalar expansion. If you select the Interpret vector parameters as 1-D check box and the numeric parameters are row or column vectors after scalar expansion, the block outputs a 1-D signal. If you clear the Interpret vector parameters as 1-D check box, the block outputs a signal of the same dimensionality as the parameters.

## Data Type Support

The Random Number block outputs a real signal of type `double`. For more information, see Data Types Supported by Simulink in the Simulink® documentation.

## Parameters and Dialog Box

Mean

Specify the mean of the random numbers. The default is `0`.

Variance

Specify the variance of the random numbers. The default is `1`.

Seed

Specify the starting seed for the random number generator. The default is `0`.

The seed must be 0 or a positive integer. Output is repeatable for a given seed.

Sample time

Specify the time interval between samples. The default is `0.1`, which matches the default sample time of the Band-Limited White Noise block. See Specify Sample Time in the Simulink documentation for more information.

Interpret vector parameters as 1-D

If you select this check box and the other parameters are row or column vectors after scalar expansion, the block outputs a 1-D signal. Otherwise, the block outputs a signal of the same dimensionality as the other parameters. For more information, see Determining the Output Dimensions of Source Blocks in the Simulink documentation.

## Characteristics

 Sample Time Specified in the Sample time parameter Scalar Expansion Yes, of parameters Dimensionalized Yes Multidimensionalized Yes Zero-Crossing Detection No Algorithm `mcg16807`, multiplicative congruential generator

The generator algorithm is identical to the one used in MATLAB Version 4.0 by the `rand` and `randn` functions. For details on the `mcg16807` algorithm, see Choosing a Random Number Generator in the MATLAB® documentation.

To use other algorithms supported by MATLAB in a Simulink model, generate a stream of random numbers in MATLAB, and store the output as a .mat file. Use this .mat file as the random number input for your simulation. For more information, see Creating and Controlling a Random Number Stream. To create multiple independent streams using MATLAB, see Multiple streams.

 Note:   Using multiple seeds to generate multiple parallel independent streams for a generator algorithm is not recommended for the `mcg16807` algorithm. Instead, use the method described above.