jeudi 16 mars 2017

matlab global stream: Any correlation between generated sets of numbers?

I'm just looking for some clarification in creating sets of random numbers in matlab and how this relates to the 'global stream.'

I know that I can set the global stream for reproducibility of my results should I run the code again:

s = RandStream('mt19937ar','Seed',7);
RandStream.setGlobalStream(s);
A = rand(1,10);

Every time I run this, A is the same. For example,

s = RandStream('mt19937ar','Seed',7);
RandStream.setGlobalStream(s);
B = rand(1,10);

I should find that isequal(A,B) is true.

Now my question pertains to the following,

s = RandStream('mt19937ar','Seed',7);
RandStream.setGlobalStream(s);
A = rand(1,10);
B = rand(1,10);

If I run this then A and B are different sets of numbers. Can I take them to be independent sets, or is there some correlation between them? If I wanted to ensure stronger independence between A and B should I create a new and different globabl stream after creating A, but before creating B? For example,

sA = RandStream('mt19937ar','Seed',7);
RandStream.setGlobalStream(sA);
A = rand(1,10);

sB = RandStream('mt19937ar','Seed',3);
RandStream.setGlobablStream(sB);
B = rand(1,10);




Aucun commentaire:

Enregistrer un commentaire