How do i select a random cell with a certain value from the matrix

1 view (last 30 days)
Hello,
I have a 1024x1280 matrix that only has the values 0 and 1.
Now I want to randomly select a cell that has the value 1.
Anybody got an idea how to do that?
Thanks

Accepted Answer

Adam Danz
Adam Danz on 27 Mar 2020
Edited: Adam Danz on 27 Mar 2020
% Create matrix of 0s & 1s
M = round(rand(1024, 1280));
% List all indices of 1s
loc = find(M==1);
% Randomly select one of the indices
randInd = datasample(loc, 1); % or randInd = loc(randi(numel(loc)))
% Show the row and col number of the selection
[row, col] = ind2sub(size(M), randInd);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!