MATLAB Answers

Spitting matrix A into other matrices using the last two columns values

1 view (last 30 days)
JL
JL on 3 Jun 2020
Commented: JL on 3 Jun 2020
I have a matrix A
A = [1 1 1;
2 1 1;
3 1 1;
4 2 1;
5 2 2;
6 2 2];
And would like to split them into different matrices (up to n) depending on the last two columns being the same
A1 = [1 1 1;
2 1 1];
The 3rd row of matrix A has the same last two columns but because there’s a limit up to 2 row each matrix, it will be on another matrix A2
A2 = [3 1 1];
The rest will be A3 and A4 below
A3 = [4 2 1];
A4 = [5 2 2
6 2 2];

Answers (1)

KSSV
KSSV on 3 Jun 2020
Edited: KSSV on 3 Jun 2020
A = [1 1 1;
2 1 1;
3 1 1;
4 2 1;
5 2 2;
6 2 2];
rowDist = [2 1 1 2] ;
iwant = mat2cell(A,rowDist) ;
Access iwant by iwant{1},iwant{2}...etc...
  6 Comments
JL
JL on 3 Jun 2020
I have mentioned it in my question above. (1) last two columns of each rows, need to be put in the same matrix, (2) if theres three rows having the same last two columns, the 3rd one will have to move on to another matrix

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by