MATLAB Function Reference |

Normally distributed random numbers and arrays

**Syntax**

Y = randn(n) Y = randn(m,n) Y = randn([m n]) Y = randn(m,n,p,...) Y = randn([m n p...]) Y = randn(size(A)) randn s = randn('state')

**Description**

The `randn`

function generates arrays of random numbers whose elements are normally distributed with mean 0, variance , and standard deviation .

returns an ```
Y = randn(n)
```

`n`

-by-`n`

matrix of random entries. An error message appears if `n`

is not a scalar.

```
Y = randn(m,n) or Y = randn([m n])
```

returns an `m`

-by-`n`

matrix of random entries.

```
Y = randn(m,n,p,...) or Y = randn([m n p...])
```

generates random arrays.

returns an array of random entries that is the same size as ```
Y = randn(size(A))
```

`A`

.

by itself, returns a scalar whose value changes each time it's referenced. `randn`

,

```
s = randn('state')
```

returns a 2-element vector containing the current state of the normal generator. To change the state of the generator:

**Examples**

**Example 1.** `R`

`=`

`randn(3,4)`

may produce

For a histogram of the `randn`

distribution, see `hist`

.

**Example 2.** Generate a random distribution with a specific mean and variance . To do this, multiply the output of `randn`

by the standard deviation , and then add the desired mean. For example, to generate a 5-by-5 array of random numbers with a mean of .6 that are distributed with a variance of 0.1

x = .6 + sqrt(0.1) * randn(5) x = 0.8713 0.4735 0.8114 0.0927 0.7672 0.9966 0.8182 0.9766 0.6814 0.6694 0.0960 0.8579 0.2197 0.2659 0.3085 0.1443 0.8251 0.5937 1.0475 -0.0864 0.7806 1.0080 0.5504 0.3454 0.5813

**See Also **

`rand`

, `randperm`

, `sprand`

, `sprandn`

rand | randperm |