Мне нужно вернуть совпадения из массива большой ячейки, если одна строка соответствует. Я написал этот код, но похоже, что это не должно быть сложным - код кажется перегруженным. Каков правильный способ сделать это?MATLAB Сопоставьте строку в массиве ячеек, если массив выборочных ячеек
function locations= MatchRowInHaystack(haystack,needle)
%Returns array locations: where needle matches haystack
%Where Needle is a cell array of identifiers
%And Haystack is a cell array of rows that may match needle.
%Split haystack into cell arrays by row:
rows=mat2cell(haystack,ones(size(haystack,1),1),size(haystack,2));
%Find row in haystack that matches needle row.
locations=find(cellfun(@isequal,rows,repmat({needle},[numel(rows) 1])));
end