列中每个值的总和
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。
我的矩阵示例如下:
[ 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。