shuffle numbers in a vector

949 views (last 30 days)
Miriam
Miriam on 9 Nov 2011
Commented: PANKAJ VADHVANI on 4 Apr 2023
Hi, I have a vector which has n by 1 entries. I want to randomly shuffle the numbers in this vector! Thanks in advance for any sugestions regarding that!

Accepted Answer

Walter Roberson
Walter Roberson on 9 Nov 2011
YourVector(randperm(length(YourVector))
  5 Comments
Sakib Mahmud
Sakib Mahmud on 11 Jan 2023
Edited: Sakib Mahmud on 11 Jan 2023
YourVector = YourVector(randperm(length(YourVector)));

Sign in to comment.

More Answers (2)

Tomas
Tomas on 5 Feb 2016
Edited: Tomas on 5 Feb 2016
To shuffle vectors without saving them to a variable first, e.g. to shuffle a for-loop, I recommend adding a function like this to your repertoire:
function v=shuffle(v)
v=v(randperm(length(v)));
end
e.g.
for i=shuffle(1:10)
disp(i)
end
  3 Comments
Peeyush Awasthi
Peeyush Awasthi on 9 Feb 2019
It's indeed an smart solution to use randperm for any vector ar an array.
Chetna Patel
Chetna Patel on 29 Mar 2021
Thanks for this solution.

Sign in to comment.


Jan
Jan on 5 Feb 2016

Categories

Find more on Matrices and Arrays 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!