function output = cellArraysDifference(evaluatedArray,substractedArray,varargin) % Remove all occurence of substracted arrays' elements from the evaluated array. % Any number of substracted arrays can be given in arguments with at least done % substracted array. assert(iscell(evaluatedArray),'Arguments must be cell arrays.') assert(iscell(substractedArray),'Arguments must be cell arrays.') output = {}; for i = 1:numel(evaluatedArray) evaluatedElement = evaluatedArray{i}; for j = 1:numel(substractedArray) if isequal(evaluatedElement,substractedArray{j}) evaluatedElement = []; break; end end if not(isempty(evaluatedElement)) output{end+1} = evaluatedElement; end end if (nargin > 2) output = cellArraysDifference(output,varargin{1},varargin{2:end}); end end