set the state for the random number generator

5 次查看(过去 30 天)
For the function "randn", one can use
randn('state',100);
to set the state.
How about the generator "*poissrnd*"?

采纳的回答

the cyclist
the cyclist 2011-4-1
编辑:John Kelly 2015-3-2
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 个评论
jack
jack 2011-4-1
stream = RandStream('mt19937ar','Seed',28);
RandStream.setDefaultStream(stream);
For the matlab I used(R2010b), this works well. Thanks.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by