Existe-t-il un moyen facile de trouver un tableau de chaînes plus petit dans un plus grand? J'ai deux listes, une avec des éléments uniques, et une avec des éléments répétitifs. Je veux trouver des occurrences entières du motif spécifique du plus petit tableau dans le plus grand. Je suis conscient que strcmp va comparer deux tableaux de cellules, mais seulement s'ils sont égaux en longueur. Ma première pensée a été de parcourir des sous-ensembles du plus grand tableau en utilisant une boucle, mais il doit y avoir une meilleure solution.Strcmp pour les tableaux de cellules de longueur inégale dans MATLAB
Par exemple, dans les domaines suivants:
smallcellarray={'string1',...
'string2',...
'string3'};
largecellarray={'string1',...
'string2',...
'string3',...
'string1',...
'string2',...
'string1',...
'string2',...
'string3'};
index=myfunction(largecellarray,smallcellarray)
retournerait
index=[1 1 1 0 0 1 1 1]
Est-ce que cela ne produira pas le résultat correct si 'largecellarray' est' {'string3'} '? – Jonas
@Jonas: J'obtiens 'index = 0' pour ce cas, en utilisant la dernière version de ma solution ci-dessus. – gnovice
Oh, maintenant je comprends votre solution. Intelligent! +1 – Jonas