How can I compare two cell arrays with different sizes ?

9 vues (au cours des 30 derniers jours)
Farnaz Baya
Farnaz Baya le 23 Août 2022
Commenté : Farnaz Baya le 23 Août 2022
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

Rik
Rik le 23 Août 2022
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 Shifting and Sorting Matrices dans Help Center et File Exchange

Tags

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by