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.

 Accepted Answer

Stephen23
Stephen23 on 21 Jun 2018
Edited: Stephen23 on 21 Jun 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 Comment

i was missing "find" and "nnz" commands. thank you for your help.

Sign in to comment.

Categories

Tags

Asked:

on 21 Jun 2018

Commented:

on 23 Jun 2018

Community Treasure Hunt

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

Start Hunting!