Deduplicate Rows from Struct

3 vues (au cours des 30 derniers jours)
Rounak Saha Niloy
Rounak Saha Niloy le 9 Août 2022
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 commentaires
Matt J
Matt J le 9 Août 2022
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?
Rounak Saha Niloy
Rounak Saha Niloy le 9 Août 2022
Fourth row is to be removed.

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 9 Août 2022
Modifié(e) : Matt J le 9 Août 2022
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

Plus de réponses (0)

Catégories

En savoir plus sur Structures 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