random elements from specific rows in matrix

1 visualización (últimos 30 días)
darksideofthemoon101
darksideofthemoon101 el 5 de Abr. de 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

Respuesta aceptada

Titus Edelhofer
Titus Edelhofer el 5 de Abr. de 2011
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

Más respuestas (1)

Derek O'Connor
Derek O'Connor el 5 de Abr. de 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 comentarios
Vinita
Vinita el 24 de Jul. de 2012
What if I have a 40X40 matrix and i want to select a random number from this matrix.
Derek O'Connor
Derek O'Connor el 26 de Jul. de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by