How to generate uniformly distributed random integers?
Show older comments
I've been using "ceil(4*rand)" to generate random integers from 1 to 4. But when I tried to check the uniformity, I found that I do not get a probability of 0.25 and instead have p(1)=0.24997, p(2)=0.25102, p(3)=0.24949 and p(4)=0.24951 after generating 10,00,000 values. Is it good enough to say that it's uniform?
Accepted Answer
More Answers (2)
Pannir Selvam Elamvazhuthi
on 28 Aug 2011
0 votes
1 Comment
the cyclist
on 29 Aug 2011
No problem on the late response. However, you should consider deleting this "answer" (because it is not answer), and making it a comment on my answer.
Sergio Enrique Pinto Castillo
on 28 Jul 2020
Edited: Sergio Enrique Pinto Castillo
on 28 Jul 2020
0 votes
I think the answer is:
Num = 1000;
vec = randi([1 Num],1,Num);
This instruction generate a vector with random uniformly distributed integers between 1 and 1000
Categories
Find more on Uniform Distribution (Continuous) in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!