automatically create a group of same elements from an array

8 views (last 30 days)
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?
  2 Comments
Geoff Hayes
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
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.

Sign in to comment.

Answers (1)

KL
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.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!