Comapre arrays of two cells and keep similar arrays

1 Ansicht (letzte 30 Tage)
BN
BN am 8 Apr. 2020
Kommentiert: Ameer Hamza am 8 Apr. 2020
Hi
I have 2 cells, A and B; each one containing tables. In the tables, there are a "lat" and "lon" columns. Some "lat" and "lon" columns are similar in both cells. Now I want to compare the table by table each A and B, then in the cell of A save only similar tables (based on "lat" and "lon").
"lat" and "lon" of both tables need to be similar.
Thanks

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 8 Apr. 2020
Try this
load('A.mat')
load('B.mat')
A_lat_lon = cell2mat(cellfun(@(x) {[x.lon(1) x.lat(1)]}, A)');
B_lat_lon = cell2mat(cellfun(@(x) {[x.lon(1) x.lat(1)]}, B)');
idx1 = ismember(A_lat_lon, B_lat_lon, 'rows');
idx2 = ismember(B_lat_lon, A_lat_lon, 'rows');
new_A = A(idx1);
new_B = B(idx2);
  2 Kommentare
BN
BN am 8 Apr. 2020
Thanks again, That's what I needed. Many thanks.
Ameer Hamza
Ameer Hamza am 8 Apr. 2020
Glad to be of help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by