MATLAB

2013-04-11 53 views
5

'daki bir değer ve dizin matrisini birleştirmek İndeksler gibi bir indeks matrisi var = [1,3,1; 2,4,2; 1,3,1].
Değerler gibi bir matrislerim var = [5,9,2; 3,4,1; 6,8,7].
Yeni bir matris oluşturmak istiyorum = [5 + 2 + 6 + 7,9 + 8; 3 + 1,4] for döngüsü kullanmadan. "Kombine", ilgili indekslerin matris "indisleri" nde ne olduğuna bağlı olarak birlikte eklenen "değerler" matrisinin elemanlarından oluşmalıdır.
MATLAB'da buna nasıl yaklaşacağınız konusunda herhangi bir öneriniz var mı? Şimdiden teşekkür ederim!MATLAB

cevap

1

Sen İstatistiksel Toolbox GRPSTATS işlevini kullanabilirsiniz:

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);