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

 Réponse acceptée

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

Plus de réponses (0)

Catégories

En savoir plus sur Data Types dans Centre d'aide et File Exchange

Produits

Version

R2022a

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by