HOW TO SORT INTO GROUPS

16 visualizzazioni (ultimi 30 giorni)
Pat
Pat il 17 Set 2011
I have values
col1 col2
1 9
2 4
3 5
4 6
5 1
6 9
7 0
8 3
9 1
0 2
I WANT TO DIVIDE THIS INTO 5 GROUPS MY OUTPUT IS
1 9 3 5 5 1 7 0 9 1
2 4 4 6 6 9 8 3 0 2
PLEASE CAN ANYONE HELP
  2 Commenti
Fangjun Jiang
Fangjun Jiang il 17 Set 2011
Please format your code and explain what is the grouping.
the cyclist
the cyclist il 17 Set 2011
Pat, please try to imagine yourself as a reader who knows nothing about your problem. It is impossible to understand what you want to do. Please provide more detail.

Accedi per commentare.

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 17 Set 2011
out = reshape(permute(reshape(a,2,[],2),[1,3,2]),2,[])
  2 Commenti
Pat
Pat il 19 Set 2011
a=[1 9
2 4
3 5
4 6
5 1
6 9
7 0
8 3
9 1
0 2
3 6
3 4
3 7
8 1
8 7
9 2
0 3
4 6
5 7
8 9 ]
i want to divide this data into 5 groups so taht the values in the column 1 and 2 should not change....... have to do this for large data also,can anyone help
Jan
Jan il 19 Set 2011
@Pat: As mentioned before, it is not clear how the groups are distinguished. I do not see the connection between "The values in the column 1 and 2 should not change" and the example data in your question. Please explain the rule you want to implement.
But you've accepted an answer already. This means, that the posted code solved your problem. Sure?

Accedi per commentare.

Più risposte (1)

Fangjun Jiang
Fangjun Jiang il 17 Set 2011
a=[1 9
2 4
3 5
4 6
5 1
6 9
7 0
8 3
9 1
0 2 ];
b=mat2cell(a,repmat(2,size(a,1)/2,1),size(a,2));
c=cell2mat(b');
  2 Commenti
Jan
Jan il 18 Set 2011
@Fangjun: Pat asks for 5 groups, but he showed 6 groups. Your code replies a {2 x 10} cell.
Fangjun Jiang
Fangjun Jiang il 18 Set 2011
I see! Then b or b' should be the outcome.
The OP doesn't seem to be responsive at all based on his history.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by