У меня есть массив ячеек типа
a={'potential'; 'impact'; 'of'; 'stranded'; 'assets'; 'and'; 'other'; 'necessary'; 'regulatory'; 'approvals'; 'assets'}
и я хочу вычесть из него массив вроде b = {'a';'а также';«О»;«Мой»;'#'}.
Использование setdiff (a, b) сортирует мой массив после вычисления разницы.Я хочу исключить из всех элементов, присутствующих в b, без сортировки.Также повторения должны быть сохранены, например, для.'assets' в массиве a должны появляться в двух местах в конечном массиве.
Следующий код, который я использую, выполняет работу:
for i = 1:length(b)
tf = ~strcmp(b(i),a)
a = a(tf,:)
end
Но проблема в том, что массив b содержит больше200 строковых элементов, которые значительно замедляют мой код.Есть ли лучший способ сделать это?