列中每个值的总和

Sum for every case of a value in column

我的矩阵示例如下:

[ 1  43; 
  1  15;
  1  34;   
  5  15;
  5  32;
  7   2;
  7  43;
  7  16;
  7  75 ]

我想要第 1 列中每个唯一值的第 2 列的总和。因此,它将是:

[ 1   92;    
  5   47;    
  7  136 ]

使用 for 循环是可能的,但会非常耗时。所以我正在寻找一个更快的解决方案。

您可以使用以下代码:

[C,~,ic] = unique(A(:,1));
result = [C, accumarray(ic,A(:,2))];

此外,您可以在标准文档中找到 unique and accumarray