How can I compare a set of variables?

6 visualizaciones (últimos 30 días)
Seba.V
Seba.V el 22 de Ag. de 2019
Respondida: CC LAI el 31 de Mzo. de 2020
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];

Respuestas (3)

Andrei Bobrov
Andrei Bobrov el 22 de Ag. de 2019
x= [1;
3;
4;
3;
3;
1;
2]
[~,~,c] = unique(x,'stable');
x_out = accumarray(c,x,[],@(x){x});

KSSV
KSSV el 22 de Ag. de 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)

CC LAI
CC LAI el 31 de Mzo. de 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)

Categorías

Más información sobre Tables en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by