set the state for the random number generator

9 views (last 30 days)
For the function "randn", one can use
randn('state',100);
to set the state.
How about the generator "*poissrnd*"?

Accepted Answer

the cyclist
the cyclist on 1 Apr 2011
Edited: John Kelly on 2 Mar 2015
If you are using an older version of MATLAB, then setting the state for rand (rather than randn) will set the state for poissrnd as well.
However, if you are using a relatively new version of MATLAB, the preferred method is to set the random number stream via RandStream:
stream = RandStream('mt19937ar','Seed',28);
RandStream.setDefaultStream(stream);
where you should put some integer where I put "28".
You can read more in the help file for RandStream, or lots more detail here: http://www.mathworks.com/help/matlab/ref/randstream.html.
I believe all the random number generators work off of the stream, but I am not 100% sure of that. I did verify that I got the same sequence of numbers from poissrnd after setting the seed like this.
  1 Comment
jack
jack on 1 Apr 2011
stream = RandStream('mt19937ar','Seed',28);
RandStream.setDefaultStream(stream);
For the matlab I used(R2010b), this works well. Thanks.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!