サイズがnx3の行列があるので、1番目と2番目の列で定義されたグループごとに3番目の行の値を合計したいと思います。
特定の例を考える
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]
行列が得られるように3番目の列を合計したいと思います
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と同等)でグループ化された行を合計する方法を知っている人はいますか?
ありがとう!