2013-05-12 62 views
-5

如何计算一组行的平均值,把一个矩阵,如:计算的行集的平均值为矩阵

1 4 5 
1 34 4 
1 65 0 
1 5 3 
2 3 44 
2 52 4 
2 5 6 
3 9 2 
3 9 1 
3 9 9 

所以我可以有一个矩阵

1 27 4 
2 20 18 
3 9 4 

THX

+0

什么定义了“一组行”?这是第一列的价值吗? – Floris 2013-05-12 16:59:07

+0

@Shai哦,我知道,这些家伙都坐在同一个CS班。 – 2013-05-12 17:03:32

+2

@ H2CO3和它是什么类别... – Shai 2013-05-12 17:04:59

回答

0

假设原始数据是在矩阵A

indx=unique(A(:,1)); 
for ii=1:numel(indx) 
    RowMean(ii,:)=mean(A(1,:)==indx(ii),:); 
end 
+2

您可以通过使用'accumarray'函数避免for循环,如[这里显示的](http://stackoverflow.com/questions/16086874#16087358)... – 2013-05-12 17:30:06

+0

@eitan你是对的。这是“一种”方式,而不是“最佳”方式。感谢您的链接。 – Floris 2013-05-12 17:33:00