how to look for repetions in a matrix with condition on the last column

1 visualización (últimos 30 días)
I have a matrix A like this:
[0 1 0 2 1 ;
0 1 1 2 0 ;
0 0 1 2 1 ]
I would like to obtain a vector filled with the column position where there is a same number for a certain condition on the last column...in other words: look in the A(1:4, columns where A(:,5)==1) which correspond to
A(1,1:4) = [0 1 0 2] and
A(3,1:4) = [0 0 1 2]
and find the position where there is the same number; save in a vector 1 and 4. thanks!

Respuesta aceptada

KL
KL el 26 de Feb. de 2018
You just need to use indexing with find to get the indices of the rows that fullfil your condition,
A = [0 1 0 2 1 ;
0 1 1 2 0 ;
0 0 1 2 1 ];
ind = find(A(:,end)==1);
res = A(ind,1:end-1)
here ind has the row numbers of the matrix A that satisfy your condition and res extract the needed elements from the respective rows.
ind =
1
3
res =
0 1 0 2
0 0 1 2
  1 comentario
Stephen23
Stephen23 el 26 de Feb. de 2018
didi'a "Answer" moved here:
Thanks a lot! But i need to search also for the repetion in the res matrix....and create a vector with the column indexes where the repetions happen...in this case vector with only one elemnt,1, because only in column 1 i have a repetion of 0.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing 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