Matlab 列中值的每种情况的总和
我的矩阵示例如下所示:Matlab 列中值的每种情况的总和,matlab,unique,cumulative-sum,Matlab,Unique,Cumulative Sum,我的矩阵示例如下所示: [ 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
[ 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))];
此外,您还可以在标准文档中找到和。您可以使用以下代码:
[C,~,ic] = unique(A(:,1));
result = [C, accumarray(ic,A(:,2))];
此外,您还可以在标准文档中找到和。那不是应该是
134
吗。编辑好了,谢谢你不是应该改成134
136吗?你说得对。编辑好了,谢谢