Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 列中值的每种情况的总和_Matlab_Unique_Cumulative Sum - Fatal编程技术网

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吗?你说得对。编辑好了,谢谢