Я хотел бы найти вектор строк в двух столбцах массива ячеек строк A (300.000 x 7).Matlab более эффективное решение для поиска строк в массиве ячеек
string=[53716;59428;58221;679854].
Здесь ниже код:
y=arrayfun(@(x)~cellfun(@isempty,regexp(A(:,3:4),string(x))),1:numel(string),'uni',false);
y=cat(1,y{:});
Этот вопрос похож на How to search for a string in cell array in MATLAB? и это один Searching cell array with regex
Однако это решение занимает несколько часов. Кто-нибудь знает более эффективный способ выполнения одной и той же операции?
То, что у вас есть, не является вектором строк. О, а вместо 'cellfun (@isempty, ...)' use 'cellfun ('isempty', ...)'. Он должен работать намного быстрее. –
Спасибо, но он все еще очень медленный. – seli