Explain this one line of code
Afficher commentaires plus anciens
Hi,
Can anyone explain to me this one line, what actually this one line do ?
rand('state',sum(100*clock)); % resetting of the random table
Réponse acceptée
Plus de réponses (2)
Ben11
le 7 Juil 2014
0 votes
I think this ensures that random numbers generated from different calls are all different since you use the current date/time in your call. You might want to take a look at this:
in which The Mathworks discourages using this syntax and proposes alternatives.
Shashank Prasanna
le 7 Juil 2014
Modifié(e) : Shashank Prasanna
le 7 Juil 2014
Aftab, Random number generators are really pseudorandom (deterministic). This means for a given "seed" you can consistently regenerate the same sequence. This is useful if you want to re-run your experiment or perform multiple experiments on the same random stream.
In short, yes, using clock to reset the seed with generate a different stream each time since the clock is different each moment. However the recommended way to change the seed is to use the RNG function:
rng('shuffle')
Also all the link provided by SS and Ben are relevant.
Catégories
En savoir plus sur Creating and Concatenating Matrices 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!