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

1 Ansicht (letzte 30 Tage)
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
Walter Roberson
Walter Roberson am 20 Okt. 2011
If you want averaging, then why isn't the second row [2, 4, 11] ?
Sangjae
Sangjae am 20 Okt. 2011
yes you're right!! it must be [2,4,11].
sorry for my mistake

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 20 Okt. 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))];

Weitere Antworten (1)

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

Community Treasure Hunt

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

Start Hunting!

Translated by