有一个大小为 nx 3 的矩阵,我想按组对第 3 行值求和,由第 1 列和第 2 列定义。
给出一个具体的例子
A =[0.0050 0.0050 0.0050
0.0050 0.0050 0.0150
0.0050 0.0050 0.0250
0.0050 0.0050 0.0350
0.0050 0.0150 0.0050]
我想对第三列求和,以便得到一个矩阵
SumA = [0.05 0.05 0.8; 0.05 0.15 0.005];
我尝试通过调用 accumarray(A(:,[1 2]), A(:,3)) 创建组,但它返回错误:第一个输入 SUBS 必须包含正整数下标。
然后我尝试通过首先创建
ind = A(:, [1,2])*1000;
进而
accumarray(ind, A(:,3))
但它返回了一个 5 x 15 矩阵,这不是我想要得到的结果。
有谁知道如何对按选定列的组合分组的行求和(相当于 SQL SELECT a, b, SUM(c) FROM A GROUP BY a, b)?
谢谢!