インデックス = [1,3,1 ; などのインデックスの行列があります。2,4,2; 1,3,1]。
values = [5,9,2 ; のような値の行列があります。3,4,1; 6,8,7]。
新しい行列を作成したい = [5+2+6+7,9+8 ; 3+1,4] for ループを使用せずに。「結合」は、マトリックス「インデックス」内のそれぞれのインデックスに基づいて加算されたマトリックス「値」の要素で構成される必要があります。
MATLAB でこれにアプローチする方法について何か提案はありますか? 前もって感謝します!
1 に答える
1
Statistical Toolbox のGRPSTATS関数を使用できます。
val = [5,9,2 ; 3,4,1 ; 6,8,7];
idx = [1,3,1 ; 2,4,2 ; 1,3,1];
result = grpstats(val(:),idx(:),'sum');
result = reshape(result, 2, 2);
于 2013-04-11T16:56:27.873 に答える