Explain this one line of code

11 visualizaciones (últimos 30 días)
Aftab Ahmed Khan
Aftab Ahmed Khan el 7 de Jul. de 2014
Comentada: Star Strider el 7 de Jul. de 2014
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

Respuesta aceptada

Star Strider
Star Strider el 7 de Jul. de 2014
It’s an obsolete way of resetting the seed of the random number generator. See the documentation on Replace Discouraged Syntaxes of rand and randn for details.
  2 comentarios
Aftab Ahmed Khan
Aftab Ahmed Khan el 7 de Jul. de 2014
Hi Strider,
In short, does it mean that everytime i use the rand function, it will generate a different set of numbers? Am i right ?
Star Strider
Star Strider el 7 de Jul. de 2014
Yes. It’s set up in that statement to set the seed based on the current time (the sum of the elements in the six-element date vector returned by clock).

Iniciar sesión para comentar.

Más respuestas (2)

Ben11
Ben11 el 7 de Jul. de 2014
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
Shashank Prasanna el 7 de Jul. de 2014
Editada: Shashank Prasanna el 7 de Jul. de 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.

Categorías

Más información sobre Random Number Generation en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by