MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by Merit
on 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

*No products are associated with this question.*

Answer by Walter Roberson
on 13 Oct 2012

Edited by Walter Roberson
on 13 Oct 2012

Accepted answer

numvecs = 4; popsize = 7; numselected =3;

[junk, randidx] = sort(rand(numvecs, popsize), 2); %sort along row A = randidx(:,1:numselected);

## 0 Comments