MATLAB: Auto split matrix into other matrices (up to n)

autosplitting

Matrix A
A = [1 55 14 1 1 1
2 55 14 1 1 1
5 35 13 1 1 2
6 35 12 1 1 2
7 35 11 2 2 3
8 35 11 2 2 3;
auto split into other matrices B,C,D (potentially all the way to N) based on the last column
B = [1 55 14 1 1 1
2 55 14 1 1 1];
C = [5 35 13 1 1 2
6 35 12 1 1 2];
D = [7 35 11 2 2 3
8 35 11 2 2 3];

Best Answer

A = [1 55 14 1 1 1
2 55 14 1 1 1
5 35 13 1 1 2
6 35 12 1 1 2
7 35 11 2 2 3
8 35 11 2 2 3];
C = A(:,end) ;
[c,ia,ib] = unique(A(:,end)) ;
N = length(c) ;
iwant = cell(N,1) ;
for i = 1:N
iwant{i} = A(ib==i,:) ;
end