How do I reproduce the same set of unique random numbers within PARFOR in Parallel Computing Toolbox 5.0 (R2010b) ?

1 view (last 30 days)
I would like to generate the same set of unique random numbers within PARFOR in order to reproduce my simulation.

Answers (1)

Sanchali Purandare
Sanchali Purandare on 16 Jan 2011
This could be done in the following manner:
seeds = randi(2^31-1,1,10, 'int32')
parfor ii=1:10
rdstm = RandStream.create('mrg32k3a');
reset(rdstm, seeds(ii));
x(ii,:) = rdstm.randn(1,1);
end
In the code above, each loop iteration will create a new random stream and will initialize it to some random seed that comes from the outside. So this way as long as you start from the same set of seeds, you can reproduce the simulation. Also,each loop iteration will create its own random number independent of each other loop iteration.

Categories

Find more on Parallel for-Loops (parfor) 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!