selecting particular rows in a matrix
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Naga A
el 13 de Oct. de 2015
Comentada: Star Strider
el 13 de Oct. de 2015
Hi , I know this is very simple, I have a matrix looks like
A =
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
I need to select the rows which contains only one 1's like the rows 1,2,4. next i need to select the rows which contains two ones like the rows 3,5,6.I'm using the function find to check the indexes containing one as follows:
for i=1:length(A)
b=find(A(i,:)==1);
c(i)=length(b);
end
Is there any possible solution instead of using the for loop, because I need to use this code for the similar matrix contains 120 columns? Thanks for the help.
0 comentarios
Respuesta aceptada
Star Strider
el 13 de Oct. de 2015
This works:
A = [0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1];
Rows_1 = find(sum(A,2)==1) % Rows with 1 ‘1’
Rows_2 = find(sum(A,2)==2) % Rows with 2 ‘1’s
Rows_3 = find(sum(A,2)==3) % Rows with 3 ‘1’s
2 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices 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!