# Group repeated values in an array and mention the repeated value with position

4 views (last 30 days)
ASHA PON on 4 Jan 2022
Commented: ASHA PON on 4 Jan 2022
I need to group the repeated value in an array. After grouping the results should be
group = repeated value
position
Example:
a=[ 6 6 5 6 5 6 6]
Expected result:
group 1 = 5
3 5
group 2 = 6
1 2 4 6 7
##### 2 CommentsShowHide 1 older comment
ASHA PON on 4 Jan 2022
This is the code i have tried and results obtained are below
Code:
mxvalue=[6 6 5 6 5 6 6]
[out,i]=sort(maxvalue);
out1=diff(find([1,diff(out)]));
out2=[out1,numel(maxvalue)-sum(out1(:))];
out3=mat2cell(i,1,out2);
celldisp(out3);
Result:
out3{1} =
3 5
out3{2} =
1 2 4 6 7
In this result i'm able to get the positions of repeated value, but the repeated value is not displayed

KSSV on 4 Jan 2022
Edited: KSSV on 4 Jan 2022
a=[ 6 6 5 6 5 6 6] ;
[c,ia,ib] = unique(a) ;
for i = 1:length(c)
fprintf('Group %d = %d\n',i,c(i))
idx = find(ib==i)' ;
disp(idx)
end
Group 1 = 5
3 5
Group 2 = 6
1 2 4 6 7
ASHA PON on 4 Jan 2022
Thank you for the support. This is what exactly i needed. The code works fine. Thank you once again