Comapre arrays of two cells and keep similar arrays

1 回表示 (過去 30 日間)
BN
BN 2020 年 4 月 8 日
コメント済み: Ameer Hamza 2020 年 4 月 8 日
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

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 4 月 8 日
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 件のコメント
BN
BN 2020 年 4 月 8 日
Thanks again, That's what I needed. Many thanks.
Ameer Hamza
Ameer Hamza 2020 年 4 月 8 日
Glad to be of help.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeTables についてさらに検索

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by