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.

 Réponse acceptée

Stephen23
Stephen23 le 21 Juin 2018
Modifié(e) : Stephen23 le 21 Juin 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 commentaire

ozan aksu
ozan aksu le 23 Juin 2018
i was missing "find" and "nnz" commands. thank you for your help.

Connectez-vous pour commenter.

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by