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...

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by