MATLAB: Comapre arrays of two cells and keep similar arrays

cell arraysMATLABtable

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

Best Answer

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);