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

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

2 Kommentare

If you want averaging, then why isn't the second row [2, 4, 11] ?
yes you're right!! it must be [2,4,11].
sorry for my mistake

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

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))];

Weitere Antworten (1)

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

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by