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

*No products are associated with this question.*

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

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

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.

Opportunities for recent engineering grads.

## 0 Comments