how rng and randn works in Matlab?
6 次查看(过去 30 天)
显示 更早的评论
I know rng in matlab is used to control random number generation. However, I am not sure of how it works. A professor wants me to figure it out. I have three sets of questions. First, using h=rng(0) returns a structured type h, and h.State has a sequence of numbers (625). What are these 625 numbers used for? Second, if the 625 numbers is a psudonumber stream, and if I use randn to generate a sequence of data from normal distribution, based on this stream (if I am correct), then what if the number of Guassian samples required is greater than 625 (e.g. using randn(n,1), and n > 625). Will the samples be repeated then? Finally, if I call randn twice, will the sequence of samples for the second time the same as that for the first time, or is it a new sequence of data, i.e., a continuation of the previously generated sequence of samples?
I hope there are someone who could help me to figure this out. Thank you very much!
Best Regards,
Weicheng Xue
0 个评论
采纳的回答
Steven Lord
2019-7-26
See this post on Cleve's blog and this post on Loren's blog for more information on the random number generators and rng in MATLAB. [The second and third part of the series on Cleve's blog are the next two posts.]
0 个评论
更多回答(2 个)
Walter Roberson
2019-7-25
The choice of 624 as the state vector has to do with mathematical properties that hold when a certain quantity related to the size of the state vector turns out to be a Mersenne Prime; it has to do with showing that,
"Then each of the possible combinations of bits occurs the same number of times in a period, except for the all-zero combination that occurs once less often."
This in turn has to do with showing that if you take consecutive values as coordinates in any dimension up to 623, then the points will fill the space evening instead of showing lines of values -- lines of values is a nasty problem in the older random number technique of Linear Congruential pseudo-random generation, showing up even in just plotting pairs of adjacent generated values.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Random Number Generation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!