How to randomise numbers in a vector?
9 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Bianca Elena Ivanof
el 17 de Dic. de 2016
Dear all,
Suppose I have this vector x= [1;2;3;4];
How can I randomise it? (i.e. create different combinations of 1, 2, 3 and 4)
Thank you very much in advance, Bianca
0 comentarios
Más respuestas (1)
Andrei Bobrov
el 17 de Dic. de 2016
Editada: Andrei Bobrov
el 17 de Dic. de 2016
Hi Elena!
One way:
x= [1 1; 1 2; 1 3; 1 4]
[~,ii] = sort(rand(size(x,1),1));
out = x(ii,:);
or just
out = x(randperm(size(x,1)),:);
2 comentarios
Jan
el 18 de Dic. de 2016
Editada: Jan
el 18 de Dic. de 2016
randperm uses the Fisher-Yates shuffle now (as FEX: Shuffle), which is more accurate than SORT(RAND). The later is a stable sort, so if two elements replied by RAND are equal (unlikely, but not impossible) the sorting order is not random. If you e.g. have to shuffle a vector of 2^52 elements, uuhm, well... Who cares.
Ver también
Categorías
Más información sobre Colormaps en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!