How can I compare a set of variables?

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];

답변 (3개)

Andrei Bobrov
Andrei Bobrov 2019년 8월 22일

1 개 추천

x= [1;
3;
4;
3;
3;
1;
2]
[~,~,c] = unique(x,'stable');
x_out = accumarray(c,x,[],@(x){x});
KSSV
KSSV 2019년 8월 22일

0 개 추천

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)
CC LAI
CC LAI 2020년 3월 31일

0 개 추천

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)

카테고리

도움말 센터File Exchange에서 Argument Definitions에 대해 자세히 알아보기

질문:

2019년 8월 22일

답변:

2020년 3월 31일

Community Treasure Hunt

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

Start Hunting!

Translated by