Effacer les filtres
Effacer les filtres

Simple programming question about randomizing a vector.

2 vues (au cours des 30 derniers jours)
Helen Kirby
Helen Kirby le 14 Jan 2017
Commenté : Helen Kirby le 14 Jan 2017
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

Image Analyst
Image Analyst le 14 Jan 2017
Try randperm():
% Get new indexes all scrambled up.
randomIndexes = randperm(length(Nums));
% Extract those indexes into a new vector.
scrambledNums = Nums(randomIndexes)
  1 commentaire
Helen Kirby
Helen Kirby le 14 Jan 2017
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

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by