How to make a structure unique?

5 vues (au cours des 30 derniers jours)
Md. Asadujjaman
Md. Asadujjaman le 25 Juin 2020
Commenté : Md. Asadujjaman le 25 Juin 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 commentaires
Walter Roberson
Walter Roberson le 25 Juin 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 le 25 Juin 2020
sorry, X values are a row vector

Connectez-vous pour commenter.

Réponse acceptée

Rasul Khan
Rasul Khan le 25 Juin 2020
Modifié(e) : Rasul Khan le 25 Juin 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 commentaires
Walter Roberson
Walter Roberson le 25 Juin 2020
m = vertcat(pop.x);
[~ , ia , ~] = unique(m , 'rows');
pop = pop(ia);
Md. Asadujjaman
Md. Asadujjaman le 25 Juin 2020
Thank you. It's working.
I got the result.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by