在MATLAB上。我们假设我有一个矩阵A(i,j)。在这种情况下,i = 5,j = 4。我希望在第二列的行中具有相同的值时,对第一列的所有行求和。采用如下矩阵:
4000 54571
4000 54571
4000 54572
4000 54573
4000 54574
我想写一个返回的代码:
8000 54571
4000 54572
4000 54573
4000 54574
你对如何做到这一点有想法吗?
非常感谢,
答案 0 :(得分:1)
您可以使用unique
和accumarray
octave:1> X=[4000 54571
> 4000 54571
> 4000 54572
> 4000 54573
> 4000 54574
> ]
X =
4000 54571
4000 54571
4000 54572
4000 54573
4000 54574
octave:2> [keys,~,values] = unique(X(:,2));
octave:3> [accumarray(values,X(:,1)), keys]
ans =
8000 54571
4000 54572
4000 54573
4000 54574