The problem of using rng to generate random numbers.
Afficher commentaires plus anciens
I want to use rng to generate several random number and save the state of generating them within a loop. so at the next step, I can use this state to continue generating randome number. e.g.:
for i=1:10
if i==1
rng(1);
else
load state
end
a=rand;
b=rand;...
save state
end
Does anybody know how to programme it?
Thanks a lot
Issac
Réponses (4)
Daniel Shub
le 11 Avr 2012
Why not create a new "stream"
doc RandStream
1 commentaire
X Du
le 12 Avr 2012
Wayne King
le 11 Avr 2012
When you call rng, you can output that information and save it if you wish
for nn = 1:10
scurr = rng;
rngstate{nn} = scurr.State;
x = randn(1,1);
end
1 commentaire
X Du
le 12 Avr 2012
Richard Willey
le 11 Avr 2012
0 votes
It's hard to make a specific recommendation without known more about the use case.
What (specifically) are you trying to accomplish / control?
1 commentaire
X Du
le 12 Avr 2012
Richard Willey
le 12 Avr 2012
0 votes
From the sounds of things, the simplest thing to do would be to generate all of your random numbers OUTSIDE your loop.
Start by setting your seed and generate a vector with all the random numbers that you need for all your loops. Index into this as necessary.
1 commentaire
X Du
le 12 Avr 2012
Catégories
En savoir plus sur Linear Predictive Coding dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!