How to choose a random value from an array?

I have a matrix
A= [2846 2402 2374 209
54 46 45 4
35 70 35 35
2 2 2 2
2 4 10 12]
I want to select a random element among the values which are lower than 50 from the third row, in other words, one of the 35s. I also want to obtain the column number of the value that i have selected. Couldn't find a decent way to do it.

 Respuesta aceptada

Stephen23
Stephen23 el 21 de Jun. de 2018
Editada: Stephen23 el 21 de Jun. de 2018
>> X = A(3,:)<50; % columns with <50 in third row
>> V = find(X);
>> C = V(randi(nnz(X))) % random column
C = 3
>> A(3,C) % value from that column
ans = 35
>> A(:,C) % the whole column
ans =
2374
45
35
2
10

1 comentario

ozan aksu
ozan aksu el 23 de Jun. de 2018
i was missing "find" and "nnz" commands. thank you for your help.

Iniciar sesión para comentar.

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 21 de Jun. de 2018

Comentada:

el 23 de Jun. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by