Find function - index by rows?

For the find function, I noticed that it indexes downward column by column. Is there a way to make it so that it indexes left to right row by row?

1 comentario

Stephen23
Stephen23 el 27 de Abr. de 2016
Nope. Transpose your data and start thinking in terms of columns, not rows.

Iniciar sesión para comentar.

Respuestas (2)

Azzi Abdelmalek
Azzi Abdelmalek el 27 de Abr. de 2016

0 votos

Apply find function to the transpose of your matrix
find(A'==2) % for example

2 comentarios

Eric Tran
Eric Tran el 27 de Abr. de 2016
Is there a way to do it without changing the orientation of the matrix. I'm trying to find the indices for "marching band member positions" and I want to try "moving" members one at a time down a row. With how the find function works now, the members are moving one at a time down a column and I'm running into some issues with that method, so I want to see how doing so with rows would affect my desired output.
Azzi Abdelmalek
Azzi Abdelmalek el 27 de Abr. de 2016
You are not changing your Matrix, your are just operating on another Matrix which is A'

Iniciar sesión para comentar.

Andrei Bobrov
Andrei Bobrov el 27 de Abr. de 2016
Editada: Andrei Bobrov el 27 de Abr. de 2016

0 votos

Example:
A = rand(15) > .4; % your array
[i0,j0] = find(A);
c = num2cell(sortrows([i0,j0],1),1);
[i_out,j_out] = c{:};
or jast (as by Azzi)
[j_out,i_out] = find(A.');

Categorías

Productos

Preguntada:

el 27 de Abr. de 2016

Comentada:

el 27 de Abr. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by