set the state for the random number generator

6 次查看(过去 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 个)

类别

Help CenterFile Exchange 中查找有关 Random Number Generation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by