MATLAB。当第二列的行具有相同的值时,如何对第一列的所有行求和?

MATLAB。当第二列的行具有相同的值时,如何对第一列的所有行求和?,matlab,Matlab,在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 你知道怎么做吗 非常感谢,使用unique和accumarray

在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
你知道怎么做吗


非常感谢,

使用
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
你能用这个吗