MATLAB: Character Cell Array Comparison

cell arraycomparison

Ok, so excuse me; new to matlab and have not found a solution through google. I have a 3×2 cell array for example:
test = {'apple' 'banana'; 'banana' 'apple'; 'pear' '[]'}
And I want to compare the two columns (or however many there are) and return an array of all values that match. i.e return apple and banana from the test cell given. Essentially it just needs to discard any empty or unique values.
Any help much appreciated.

Best Answer

[a,~,c] = unique(test);
out = a(accumarray(c,1)>1 & ~strcmp(a,'[]'));