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 Kommentare

Matt J
Matt J am 9 Aug. 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 am 9 Aug. 2022
Fourth row is to be removed.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Matt J
Matt J am 9 Aug. 2022
Bearbeitet: Matt J am 9 Aug. 2022

0 Stimmen

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

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by