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

1 Ansicht (letzte 30 Tage)
JL
JL am 3 Jun. 2020
Kommentiert: JL am 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];

Antworten (1)

KSSV
KSSV am 3 Jun. 2020
Bearbeitet: KSSV am 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 Kommentare
KSSV
KSSV am 3 Jun. 2020
On what criteria you have come to conclusion of [2 1 1 2]? Is there any criteria?
JL
JL am 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

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by