MATLAB: Unique Values based on 2 Variables

unique

This is a little complicated for me to explain, but I'll try my best. Suppose I have 2 variables, var1 and var2.
var1=[1 2 4]' %Column 1

var2(:,1)=[1 1 1 2 4 4 4]' %Column 1
var2(:,2)=[8 9 2 5 5 1 1]' %Column 2
My goal: For each value in var1, I want to refer to column 1 of var2 and find the unique number in column 2. (Forgive me, but even I find it difficult in explaining this. I will illustrate my objective)
Based on the code excerpt above,
In var1, the 1st value is 1. Compare it to var2 column 1 In var2, row 1-3 contains 1 and I wish to find the unique values in column 2.
(Answer: 8,9,2 when col1's value is 1)
(Answer: 5 when col1's value is 2)
(Answer: 5,1 when col1's value is 4)
Again, I am very sorry for this poor explanation.

Best Answer

[a,b] = ismember(var2(:,1),var1);
out = [num2cell(var1), accumarray(b(a),var2(:,2),[],@(x){unique(x)})];