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

1 visualización (últimos 30 días)
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.

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by