How can I compare a set of variables?
6 views (last 30 days)
Show older comments
Given a set of variables:
x1= 1;
x2= 3;
x3= 4;
x4= 3;
x5= 3;
x6= 1;
x7=2;
Is there a way in MATLAB to scan through the variables and identify which one are equal and output something like this?
x1=[1 1];
x2=[3 3 3];
x3=[4];
x7=[2];
0 Comments
Answers (3)
Andrei Bobrov
on 22 Aug 2019
x= [1;
3;
4;
3;
3;
1;
2]
[~,~,c] = unique(x,'stable');
x_out = accumarray(c,x,[],@(x){x});
0 Comments
KSSV
on 22 Aug 2019
x1= 1;
x2= 3;
x3= 4;
x4= 3;
x5= 3;
x6= 1;
x7=2;
x = [x1 x2 x3 x4 x5 x6 x7] ;
[c,ia,ib] = unique(x) ;
iwant = cell(length(c),1) ;
for i = 1:length(c)
iwant{i} = x(ib==i) ;
end
celldisp(iwant)
0 Comments
CC LAI
on 31 Mar 2020
x1= 1;
x2= 3;
x3= 4;
x4= 3;
x5= 3;
x6= 1;
x7=2;
x = [x1 x2 x3 x4 x5 x6 x7] ;
[c,ia,ib] = unique(x) ;
iwant = cell(length(c),1) ;
for i = 1:length(c)
iwant{i} = x(ib==i) ;
end
celldisp(iwant)
0 Comments
See Also
Categories
Find more on Tables in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!