How to make a structure unique?
9 ビュー (過去 30 日間)
古いコメントを表示
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/321673/image.jpeg)
4 件のコメント
Walter Roberson
2020 年 6 月 25 日
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.)
採用された回答
Rasul Khan
2020 年 6 月 25 日
編集済み: Rasul Khan
2020 年 6 月 25 日
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 件のコメント
Walter Roberson
2020 年 6 月 25 日
m = vertcat(pop.x);
[~ , ia , ~] = unique(m , 'rows');
pop = pop(ia);
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!