如何在不使用“accumarray”命令的情况下,对与另一列的唯一值对应的列的特定值求和?

时间:2013-02-05 18:57:28

标签: matlab

我在matlab中有一个矩阵:

a=[1 1; 1 2; 1 3; 2 1; 2 5; 2 7; 3 2; 3 1; 3 4];

如果

a1=[1 1 1 2 2 2 3 3 3]; is the first column

a2=[1 2 3 1 5 7 2 1 4]; is the second column

这个矩阵,我想要重复的值"唯一的(a1)" a1的总和是a2的相应值,以便得到这个:

a3=[1+2+3 1+5+7 2+1+4]=[6 13 7] 

但没有使用" accumarray"命令 有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

我的consolidator工具会为您执行此操作,即使提供容差也是如此。

[a1cons,a2cons] = consolidator(a1',a2',@sum)
a1cons =
     1
     2
     3

a2cons =
     6
    13
     7