Period Length of the random numbers generated by rand() and randn()
12 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Sofie Brammer
le 8 Mai 2023
Commenté : Sofie Brammer
le 8 Mai 2023
Hello,
from what I understand, (uniform) random number generators will produce numbers that at some point will repeat.
Is this always the case? Is it possible to read somewhere how long this period length is for the uniform number generator rand()?
And does randn() use rand()? Is there a way to see how randn() is coded?
What I actually would like to know is the Period Length of randn(), if the output of this is actually repeating after a while.
Thank you very much for your help! :)
Greetings
Sofie
0 commentaires
Réponse acceptée
Steven Lord
le 8 Mai 2023
See the "Choosing a Random Number Generator" section on this documentation page for a brief description of each of the available random number generators in MATLAB and their approximate periods.
We do not distribute the source code for either rand or randn.
Plus de réponses (1)
Jonas
le 8 Mai 2023
Modifié(e) : Jonas
le 8 Mai 2023
don't confuse yourself, random number do not have a period length, but what you actually mean may be the rate e.g. after which a number may appear again. this is not deterministic, but you can measure e.g. the mean number of lements after which a specific number appears again:
short example with numbers 1 to 100
numberOfPossibilities=100;
data=randi(numberOfPossibilities,1e6,1);
for nr=1:numberOfPossibilities
where=find(data==nr);
spacings=diff(where);
meanSpacing(nr,1)=mean(spacings);
end
disp(meanSpacing')
as you can see, this number is near the number of possible integer values
but the output almost never repeats itself if there are enough ouput values possible. E.g. if you have 1000 possible outputs and a sequence of 1e6 values, the probability of an exact repetition is (1/1000)^(1e6)
note again: random numbers are random, if you have uniform distribution, the probability of a specific number is always the the same, regardless if you have drawn a number for the first time or for the 1000th time.
1 commentaire
Voir également
Catégories
En savoir plus sur Random Number Generation dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!