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!

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 9 Nov. 2011

25 Stimmen

YourVector(randperm(length(YourVector))

5 Kommentare

Miriam
Miriam am 9 Nov. 2011
great! thanks a lot!!!
Alec Nagel
Alec Nagel am 3 Dez. 2018
One ) missing at the end, but thanks! :)
Thanks a lot :))
Sakib Mahmud
Sakib Mahmud am 11 Jan. 2023
Bearbeitet: Sakib Mahmud am 11 Jan. 2023
YourVector = YourVector(randperm(length(YourVector)));
PANKAJ VADHVANI
PANKAJ VADHVANI am 4 Apr. 2023
Thanks a lot :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Tomas
Tomas am 5 Feb. 2016
Bearbeitet: Tomas am 5 Feb. 2016

6 Stimmen

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 Kommentare

shuffle = @(v)v(randperm(numel(v)));
Peeyush Awasthi
Peeyush Awasthi am 9 Feb. 2019
It's indeed an smart solution to use randperm for any vector ar an array.
Chetna Patel
Chetna Patel am 29 Mär. 2021
Thanks for this solution.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by