Discover MakerZone

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

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

random elements from specific rows in matrix

Asked by darksideofthemoon101 on 5 Apr 2011

Hi,

I have a 2x10 matrix and I want to select a random element from each row. I have found how to select random elements from the matrix as a whole but can't narrow it down.

Thanks,

Richard

0 Comments

darksideofthemoon101

Products

No products are associated with this question.

2 Answers

Answer by Titus Edelhofer on 5 Apr 2011
Accepted answer

Randperm is a simple helper for this:

X = [1:10; 11:20];
idx1 = randperm(10);
idx2 = randperm(10);
entries = [X(1,idx1(1)); X(2, idx2(1))]

Titus

0 Comments

Titus Edelhofer
Answer by Derek O'Connor on 5 Apr 2011
    function rrelems = RandRowElems(A)
% USE: m = 10; n = 10^6;
%      A = ceil(100*rand(m,n));
%      tic;relems = RandRowElems(A),toc
[m,n] = size(A);
rrelems = zeros(m,1);
for i = 1:m
   rcidx = ceil(rand*n);
   rrelems(i,1) = A(i,rcidx);
end  

2 Comments

Vinita on 24 Jul 2012

What if I have a 40X40 matrix and i want to select a random number from this matrix.

Derek O'Connor on 26 Jul 2012

I presume you mean to pick a number randomly from a 40x40 matrix:

Pick two random integers r and c in [1:40]; A(r,c) is the answer.

Derek O'Connor

Contact us