How to generate unique random integers between 1 to n (no two should be same)

86 views (last 30 days)
Hello I want to generate (<n) unique random integers varying from 1 to n. I used the existing randint function which seems to be producing identical numbers between.
This is the line of code that I'm using
k = randint(l,1,(a(1)*a(2))-1)+1;

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 21 Feb 2012
n = 8
l = 5
out = randperm(n,l)
OR
out1 = randperm(n)
out = out1(1:l)
  3 Comments
simar
simar on 22 Feb 2012
does randperm(n,l)
works in similar to
out1 = randperm(n)
out = out1(1:l)
I mean can I trust the randomness of the numbers generated by the latter method???
Karakus Zekeriya
Karakus Zekeriya on 19 Jan 2019
Moved: Jan on 11 Nov 2022
Thanks Andrei; very usefull. I was tried, was gave every times true result.

Sign in to comment.

More Answers (0)

Categories

Find more on Random Number Generation 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!