How can I compare two cell arrays with different sizes ?

I have two cell arrays: a and b
a = {{1,1} ,{2,3} ,{4,5},{6,7} ,{8,9} ,{10,11};{12,13} ,{14,15} ,{16,17},{18,19} ,{20,21} ,{22,23}};
b = {{1,1} ,{4,5},{16,17}};
I want to compare each inner cells of a and b (a and b are of different sizes) and if they are the same, MATLAB returns 1 if yes and 0 if no in cell a :
a = [1 , 0 ,1 , 0 , 0 , 0 ; 0 , 0 , 1, 0,0,0];

 採用された回答

Rik
Rik 2022 年 8 月 23 日

0 投票

A simple loop will do the trick:
a = {{1,1} ,{2,3} ,{4,5},{6,7} ,{8,9} ,{10,11};{12,13} ,{14,15} ,{16,17},{18,19} ,{20,21} ,{22,23}};
b = {{1,1} ,{4,5},{16,17}};
out=false(size(a));
for n=1:numel(a)
for m=1:numel(b)
if isequal(a{n},b{m})
out(n)=true;
break
end
end
end
out
out = 2×6 logical array
1 0 1 0 0 0 0 0 1 0 0 0

その他の回答 (0 件)

カテゴリ

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

製品

リリース

R2022a

タグ

質問済み:

2022 年 8 月 23 日

コメント済み:

2022 年 8 月 23 日

Community Treasure Hunt

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

Start Hunting!

Translated by