separate matrix into cells according to column value
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Alejandro Fernández
el 30 de Ag. de 2020
Comentada: Alejandro Fernández
el 30 de Ag. de 2020
Hi, I have a matrix like the one I show in A:
A = [1 2 1; 2 2 1; 1 2 2; 2 2 3];
What I intend to achieve in each component of cell B is the first and second column of matrix A whose component index corresponds to the value of the third column of A.
B{1} = [1 2; 2 2];
B{2} = [1 2];
B{3} = [2 2];
I can do it with the next code but I am looking for a better and faster method because i usually have a lot of cell components.
for i = 1 : 3
B{i} = A(A(:,3) == i,1:2);
end
0 comentarios
Respuesta aceptada
Bruno Luong
el 30 de Ag. de 2020
One liner (not the fatest)
B = splitapply(@(x) {x}, A(:,1:2), A(:,3))
Más respuestas (0)
Ver también
Categorías
Más información sobre Structures 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!