Effacer les filtres
Effacer les filtres

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

1 vue (au cours des 30 derniers jours)
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 commentaires
Walter Roberson
Walter Roberson le 20 Oct 2011
If you want averaging, then why isn't the second row [2, 4, 11] ?
Sangjae
Sangjae le 20 Oct 2011
yes you're right!! it must be [2,4,11].
sorry for my mistake

Connectez-vous pour commenter.

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 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))];

Plus de réponses (1)

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

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by