MATLAB: How to get the average for repetitive elements of a matrix

meanunique

Assuming I have a 10×2 matrix, how do I get the average of corresponding values (second column) of repetitive values (first column) in the matrix? Like I have this:
[2 20;
2 30;
2 40;
7 100;
7 110;
7 120;
7 130;
7 140;
15 240;
15 260]
And I want to get this:
[2 30;
7 120;
15 250]

Best Answer

m = [2 20;
2 30;
2 40;
7 100;
7 110;
7 120;
7 130;
7 140;
15 240;
15 260]
[uv,~,idx] = unique(m(:,1))
[uv accumarray(idx,m(:,2),[],@mean)]