How can I compare two cell arrays with different sizes ?

11 ビュー (過去 30 日間)
Farnaz Baya
Farnaz Baya 2022 年 8 月 23 日
コメント済み: Farnaz Baya 2022 年 8 月 23 日
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 日
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 件)

カテゴリ

Help Center および File ExchangeShifting and Sorting Matrices についてさらに検索

タグ

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by