How to choose a random value from an array?

8 visualizaciones (últimos 30 días)
ozan aksu
ozan aksu el 21 de Jun. de 2018
Comentada: ozan aksu el 23 de Jun. de 2018
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.

Más respuestas (1)

Alfonso
Alfonso el 21 de Jun. de 2018

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