# automatically create a group of same elements from an array

14 views (last 30 days)
Surya Putra Kartolo on 29 Aug 2018
Answered: KL on 29 Aug 2018
hello, i have a question about how to automatically group same elements of an array. Example: A=(3,3,3,2,1,4,5,5)
i want to group it into: Group1=(1) Group2=(2) Group3=(3,3,3) Group4=(4) Group5=(5,5)
but sometimes, the elements can be varied and it depends on the calculation. So the number of groups cannot be determined manually. So may i ask your idea, how to make the group automatically based on A ,using for loop?

Geoff Hayes on 29 Aug 2018
Surya - please clarify what you mean by the elements can be varied and it depends on the calculation. Also, are you elements always integers?
Surya Putra Kartolo on 29 Aug 2018
yeah, its always integers. i mean is that the integers in A can change depends on the calculation of the image. so sometimes A=(3,3,3,2,1,4,5,5), and if i do for other calculation A can be like A=(6,6,4,4,3,1,2,2). so the integers can be varied.

KL on 29 Aug 2018
try this,
result =mat2cell(sort(A),1, histcounts(findgroups(A))) %A is your array
Output is a cell array where you have groups separated into columns.