randn (RandStream)

Normally distributed pseudorandom numbers


r = randn(s,m,n)
r = randn(s,[m,n])
r = randn(s,m,n,p,...)
r = randn(s,[m,n,p,...])
r = randn(s)
r = randn(s,size(A))
r = randn(...,'double')
r = randn(...,'single')


r = randn(s,n) returns an n-by-n matrix containing pseudorandom values drawn from the standard normal distribution. randn draws those values from the random stream s.

r = randn(s,m,n) or r = randn(s,[m,n]) returns an m-by-n matrix.

r = randn(s,m,n,p,...) or r = randn(s,[m,n,p,...]) returns an m-by-n-by-p-by-... array.

r = randn(s) returns a scalar.

r = randn(s,size(A)) returns an array the same size as A.

r = randn(...,'double') or r = randn(...,'single') returns an array of uniform values of the specified class.


The size inputs m, n, p, ... should be nonnegative integers. Negative integers are treated as 0.

The sequence of numbers produced by randn is determined by the internal state of the random stream s. randn uses one or more uniform values from s to generate each normal value. Resetting that stream to the same fixed state allows computations to be repeated. Setting the stream to different states leads to unique computations, however, it does not improve any statistical properties.

Extended Capabilities