MATLAB Answers

Seba.V
0

How can I compare a set of variables?

Asked by Seba.V
on 22 Aug 2019
Latest activity Answered by Andrei Bobrov
on 22 Aug 2019
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

Sign in to comment.

2 Answers

Answer by 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

Sign in to comment.


Answer by 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

Sign in to comment.