shuffle numbers in a vector

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

YourVector(randperm(length(YourVector))

5 Comments

great! thanks a lot!!!
One ) missing at the end, but thanks! :)
Sakib Mahmud
Sakib Mahmud on 11 Jan 2023
Edited: Sakib Mahmud on 11 Jan 2023
YourVector = YourVector(randperm(length(YourVector)));
Thanks a lot :)

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

shuffle = @(v)v(randperm(numel(v)));
It's indeed an smart solution to use randperm for any vector ar an array.
Thanks for this solution.

Sign in to comment.

Categories

Find more on Loops and Conditional Statements 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!