The problem of using rng to generate random numbers.
Ältere Kommentare anzeigen
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
Antworten (4)
Daniel Shub
am 11 Apr. 2012
Why not create a new "stream"
doc RandStream
1 Kommentar
X Du
am 12 Apr. 2012
Wayne King
am 11 Apr. 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 Kommentar
X Du
am 12 Apr. 2012
Richard Willey
am 11 Apr. 2012
0 Stimmen
It's hard to make a specific recommendation without known more about the use case.
What (specifically) are you trying to accomplish / control?
1 Kommentar
X Du
am 12 Apr. 2012
Richard Willey
am 12 Apr. 2012
0 Stimmen
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 Kommentar
X Du
am 12 Apr. 2012
Kategorien
Mehr zu Random Number Generation finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!