How to find the location of the first cell which contains a specific value in an array?

1 view (last 30 days)
I have an array, all the cells are either with value 0 or value 1.
For each row, I need to find the location in form of (row, column) for the fist cell with value 1 in this row, and the location for the last cell with value 1 in this same row.
Then I will repeat this to all the other rows of the matrix.
I used double for loop, but I did succeed in storing the cell locations.
Can anyone help me?
Thank you.

Accepted Answer

per isakson
per isakson on 9 Sep 2014
Edited: per isakson on 10 Sep 2014
I'm not sure what you mean by "cell". Hint:
m = randi( [0,1], [12,12] );
n = nan( 2, 12 );
for jj = 1 : size( m, 2 )
n(:,jj) = [ find( m(:,jj)==1, 1, 'first' )
find( m(:,jj)==1, 1, 'last' ) ];
end
I'm not sure how it behaves if there is no value, 1, in a column.
  6 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!