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

2 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

per isakson
per isakson am 9 Sep. 2014
Bearbeitet: per isakson am 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 Kommentare
zy
zy am 10 Sep. 2014
Ok, I will read the FAQ for better understanding of those terminologies, thank you.
zy
zy am 11 Sep. 2014
Yes, per Isakson, it works, thank you very much. It helps me a lot.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by