Simple programming question about randomizing a vector.

clc
clear
ones = ones(1,20);
twos = ones+1;
thrs = twos+1;
fors = thrs+1;
fivs = fors+1;
Nums = [ones twos thrs fors fivs];
This should be dead easy but I cannot find a command to do it. Having got my blocks of 1s,2s,3s,4s,5s, in a single vector(Nums) I would now like to scramble them so that they are all mixed up. I tried "random" and "shuffle" but they gave me errors. Does anyone know how else I can randomize or shuffle up Nums?

 Réponse acceptée

Try randperm():
% Get new indexes all scrambled up.
randomIndexes = randperm(length(Nums));
% Extract those indexes into a new vector.
scrambledNums = Nums(randomIndexes)

1 commentaire

Yep, that did it! Thank you SO much - and so fast too. Very clever. HK.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by