Find equal value in two cell arrays

I have 2 cells
A = {5;5;[];[];[];[];[];[]};
B = {5;13;4;12;12;12;17;14};
As you see, index one of cell A equals to cell B.
I want to find this index. The below code is not correct for this example.
ismember(cell2mat(A),cell2mat(B),'rows');

1 件のコメント

Walter Roberson
Walter Roberson 2020 年 10 月 19 日
Do I understand correctly that for each element of A, you want a list of the indices in B for which any row of the A element matches any row of the B element?
I thought at first you were asking about whether corresponding positions matched, but your A has 9 entries where your B has 8 entries, so you must be wanting to compare every A to every B... by rows??
Could you confirm that in some cases you really will have rows in A or B? And will the entries always be empty or have the same number of columns?

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

 採用された回答

madhan ravi
madhan ravi 2020 年 10 月 19 日

0 投票

Wanted = find(cellfun(@isequal, A, B))

2 件のコメント

Walter Roberson
Walter Roberson 2020 年 10 月 19 日
This does not account for the 'rows' shown in the posting, and does not account for A and B being different lengths.
madhan ravi
madhan ravi 2020 年 10 月 20 日
True sir Walter, assumption was it had equal elements with each as vectors.

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMatrices and Arrays についてさらに検索

質問済み:

NA
2020 年 10 月 19 日

コメント済み:

2020 年 10 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by