set the state for the random number generator

2 vues (au cours des 30 derniers jours)
jack
jack le 31 Mar 2011
Commenté : Steven Lord le 21 Mai 2018
For the function "randn", one can use
randn('state',100);
to set the state.
How about the generator "*poissrnd*"?
  2 commentaires
Molalign Adam Bogale
Molalign Adam Bogale le 21 Mai 2018
how can control random number generated by poissrnd?
Steven Lord
Steven Lord le 21 Mai 2018
Use the rng function.

Connectez-vous pour commenter.

Réponse acceptée

the cyclist
the cyclist le 1 Avr 2011
Modifié(e) : John Kelly le 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 commentaire
jack
jack le 1 Avr 2011
stream = RandStream('mt19937ar','Seed',28);
RandStream.setDefaultStream(stream);
For the matlab I used(R2010b), this works well. Thanks.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Random Number Generation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by