RandStream
Random number stream
Description
RandStream
creates a random number stream
using a specified pseudorandom number generator algorithm.
You can generate pseudorandom numbers in MATLAB® from one or more random number streams. The simplest way to generate arrays of
random numbers is to use the rand
, randi
, randn
, and randperm
functions. These functions all rely on the same stream of uniformly
distributed random numbers, known as the global stream. Changing the
global stream can involve RandStream
, but it does not have to. If you
create a stream using RandStream
, you can use RandStream.setGlobalStream
to make it the global stream. However, the rng
function provides a simpler interface to create a global stream that is
sufficient for most use cases.
You can also use RandStream
to create streams and then use
rand
, randi
, randn
, or
randperm
to generate random numbers from these streams. The generated
random numbers are separate from those drawn from the global stream or from other streams. For
details, see Object Functions.
Creation
Use the following syntaxes to create a single random number stream. If you want to create
multiple independent streams simultaneously, use the RandStream.create
function.
Description
creates a random number stream that uses the uniform pseudorandom number generator
algorithm specified by s
= RandStream(gentype
)gentype
.
also controls properties of the stream using one or more optional
s
= RandStream(gentype
,Name,Value
)Name,Value
pair arguments.
Input Arguments
Properties
Object Functions
By default, random number generation functions, such as rand
, use the global random number stream. To specify a different stream, create
a RandStream
object and pass it as the first input argument. For instance,
create a 4-by-1 vector of random numbers using the SIMD-Oriented Fast Mersenne
Twister.
s = RandStream('dsfmt19937'); r = rand(s,4,1);
These functions accept a RandStream
object:
rand | Uniformly distributed random numbers | Supported syntaxes, where X = rand(s) X = rand(s,n) X = rand(s,sz1,...,szN) X = rand(s,sz) X = rand(s,__,typename) X = rand(s,__,'like',p) rand , randi , and randn . |
randi | Uniformly distributed pseudorandom integers | |
randn | Normally distributed random numbers | |
randperm | Random permutation of integers | Supported syntaxes, where p = randperm(s,n) p = randperm(s,n,k) randperm . |
Other object functions of RandStream
are:
RandStream.create | Create statistically independent random number streams |
RandStream.list | List random number generator algorithms |
RandStream.getGlobalStream | Get current global random number stream |
RandStream.setGlobalStream | Set global random number stream |
reset | Reset random number stream |
Examples
More About
Extended Capabilities
Version History
Introduced in R2008b