Effacer les filtres
Effacer les filtres

Create random permutations of an array of decimals or a vector of decimals.

2 vues (au cours des 30 derniers jours)
If i have the following vector [0;0.25;0.75;0.5], how i can create 2 or 3 or n permutations? I cannot use randperm, because works only with integers. Thank you in advance!
  2 commentaires
John D'Errico
John D'Errico le 24 Jan 2016
Modifié(e) : John D'Errico le 24 Jan 2016
Hmm. You cannot use the numbers that randperm will produce as indexes into the vector in question? Gosh, I thought you could do that. So this won't work at all:
v = [0;0.25;0.75;0.5],
ind = randperm(numel(v));
v(ind)
I really thought that would work too. Maybe you should try it? :)
Dennis_Pana
Dennis_Pana le 24 Jan 2016
It works!! How i can create 2 or 3 or n different permutations without using a for loop? Thank you again!

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
Walter Roberson le 24 Jan 2016
N = 3;
v = [0;0.25;0.75;0.5];
[~, idx] = sort(rand(N, length(v)), 2);
permuted_v = v(idx);

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing 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