MATLAB Answers

shuffle numbers in a vector

2 186 views (last 30 days)
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!

  0 Comments

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 9 Nov 2011
YourVector(randperm(length(YourVector))

  2 Comments

Miriam
Miriam on 9 Nov 2011
great! thanks a lot!!!
Alec Nagel
Alec Nagel on 3 Dec 2018
One ) missing at the end, but thanks! :)

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

  2 Comments

Stephen Cobeldick
Stephen Cobeldick on 5 Feb 2016
shuffle = @(v)v(randperm(numel(v)));
Peeyush Awasthi
Peeyush Awasthi on 9 Feb 2019
It's indeed an smart solution to use randperm for any vector ar an array.

Sign in to comment.


Jan
Jan on 5 Feb 2016

  0 Comments

Sign in to comment.

Sign in to answer this question.


Translated by