How to make a structure unique?

11 visualizaciones (últimos 30 días)
Md. Asadujjaman
Md. Asadujjaman el 25 de Jun. de 2020
Comentada: Md. Asadujjaman el 25 de Jun. de 2020
emp.x=[];
emp.info=[];
emp.fit=[];
pop=repmat(emp,1,1);
pop(1).x=[1 2 3 4];
pop(2).x=[3 2 1 4];
pop(3).x=[1 2 3 4];
pop(4).x=[2 1 3 4];
How to make the above structure (pop) unique?
The result would be like the following figure.
  4 comentarios
Walter Roberson
Walter Roberson el 25 de Jun. de 2020
X values are not a row vector.
Row vectors are the same length.
Which row vectors are the same length as each other if they are not the X values? (We know they are not the X values because you said that the X values are not row vectors.)
Md. Asadujjaman
Md. Asadujjaman el 25 de Jun. de 2020
sorry, X values are a row vector

Iniciar sesión para comentar.

Respuesta aceptada

Rasul Khan
Rasul Khan el 25 de Jun. de 2020
Editada: Rasul Khan el 25 de Jun. de 2020
You can achieve it using this script.
m = [];
for i = 1 : numel(pop)
m = [m ; pop(i).x];
end
[~ , ia , ~] = unique(m , 'rows');
pop = pop(ia);
  2 comentarios
Walter Roberson
Walter Roberson el 25 de Jun. de 2020
m = vertcat(pop.x);
[~ , ia , ~] = unique(m , 'rows');
pop = pop(ia);
Md. Asadujjaman
Md. Asadujjaman el 25 de Jun. de 2020
Thank you. It's working.
I got the result.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by