How can I vectorize for loop with randsample

7 ビュー (過去 30 日間)
Merit
Merit 2012 年 10 月 13 日
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

採用された回答

Walter Roberson
Walter Roberson 2012 年 10 月 13 日
編集済み: Walter Roberson 2012 年 10 月 13 日
numvecs = 4;
popsize = 7;
numselected =3;
[junk, randidx] = sort(rand(numvecs, popsize), 2); %sort along row
A = randidx(:,1:numselected);
  2 件のコメント
Andrei Bobrov
Andrei Bobrov 2012 年 10 月 13 日
+1
Merit
Merit 2012 年 10 月 13 日
Thank you Walter, just what I needed :)
Merit

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeParallel Computing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by