2013-04-11 18 views
5

Mam macierz indeksów, takich jak indeksy = [1,3,1; 2,4,2; 1,3,1].
Mam macierz wartości takich jak wartości = [5,9,2; 3,4,1; 68,7].
Chcę utworzyć nową matrycę w połączeniu = [5 + 2 + 6 + 7,9 + 8; 3 + 1,4] bez użycia pętli for. "Połączone" powinno składać się z elementów "wartości" macierzy dodanych w oparciu o ich odpowiednie wskaźniki w matrycy "wskaźników".
Czy masz jakieś sugestie, jak podejść do tego w MATLAB? Z góry dziękuję!Łączenie macierzy wartości i indeksów w MATLAB

Odpowiedz

1

Można użyć GRPSTATS funkcji z Toolbox statystyczne:

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); 
Powiązane problemy