Deduplicate Rows from Struct

6 次查看(过去 30 天)
I have the following struct-
Database.x = [1 0 1
2 0 2
3 0 1
1 0 1];
Database.f = [10 20
20 30
30 40
10 15];
In Database.x, there are duplicate rows (1st and 4th one). I want to deduplicate them and based on that, I want to remove the corresponding row from Databse.f
How do I do this?
  2 个评论
Matt J
Matt J 2022-8-9
I want to remove the corresponding row from Databse.f
In referene to your example, how would you decide whether the first or fourth row of f should be removed?

请先登录,再进行评论。

采纳的回答

Matt J
Matt J 2022-8-9
编辑:Matt J 2022-8-9
How about this?
Database.x = [1 0 1
2 0 2
3 0 1
1 0 1];
Database.f = [10 20
20 30
30 40
10 15];
[Database.x,I]=unique(Database.x,'rows');
Database.f=Database.f(I,:);
Database.x
ans = 3×3
1 0 1 2 0 2 3 0 1
Database.f
ans = 3×2
10 20 20 30 30 40

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Function Creation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by