How can I vectorize for loop with randsample

7 vues (au cours des 30 derniers jours)
Merit
Merit le 13 Oct 2012
I like to know if there is a any simpler way of doing this (without for-loop):
A = zeros(4,3) %this size is just an example
for i=1 : 4 %I want to add 4 vectors ...
A(i,:) = randsample(7,3)' %... which are 3 different numb from [1-7]
end
A =
4 6 2
1 7 3
2 1 5
3 5 6
So my point is to create a matrix from different vectors, which I have created with randsample. Is there a way I can vectorize this?
Have been fighting with this many days :)
Yours Merit

Réponse acceptée

Walter Roberson
Walter Roberson le 13 Oct 2012
Modifié(e) : Walter Roberson le 13 Oct 2012
numvecs = 4;
popsize = 7;
numselected =3;
[junk, randidx] = sort(rand(numvecs, popsize), 2); %sort along row
A = randidx(:,1:numselected);
  2 commentaires
Andrei Bobrov
Andrei Bobrov le 13 Oct 2012
+1
Merit
Merit le 13 Oct 2012
Thank you Walter, just what I needed :)
Merit

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Parallel Computing 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