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

randomselect value

Hello,
I have a 1024×1280 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

Best Answer

% 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);