How to make a structure unique?

4 visualizzazioni (ultimi 30 giorni)
Md. Asadujjaman
Md. Asadujjaman il 25 Giu 2020
Commentato: Md. Asadujjaman il 25 Giu 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 Commenti
Walter Roberson
Walter Roberson il 25 Giu 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 il 25 Giu 2020
sorry, X values are a row vector

Accedi per commentare.

Risposta accettata

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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by