The problem of using rng to generate random numbers.
Show older comments
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
Answers (4)
Wayne King
on 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
Richard Willey
on 11 Apr 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?
Richard Willey
on 12 Apr 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.
Categories
Find more on Random Number Generation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!