Help me, please. I want a matrix transform averaged and unique in specific col,

1 view (last 30 days)
I want first 1 and 2 columns unique and 3 coloum make average matrix.
for example
[1,2,11; 1,2,12; 1,2,13; 2,4,10; 2,4,12]
->
[1,2,12; 2,4,10]
How can I get that? I can do that very complex way but I think there is some smart way. Help me people

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 20 Oct 2011
A = [1,2,11; 1,2,12; 1,2,13; 2,4,10; 2,4,12];
[a,b,c] = unique(A(:,1:2),'rows');
out = [a cellfun(@mean,mat2cell(A(:,end),histc(c,1:max(c)),1))];

More Answers (1)

Pramod Bhat
Pramod Bhat on 20 Oct 2011
may u please elaborate your question? im not getting ur problem...

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!