2015-04-20 82 views

回答

3

使用uniqueaccumarray

[new_id, ~, v] = unique(id(:)); 
val_summed = accumarray(v, val(:)); 

以上的工程,即使id並不一定正整數。如果是的話,另一種是使用sparse做之和find提取所需的結果:

[new_id, ~, val_summed] = find(sparse(id, 1, val)); 
+0

謝謝路易斯.....! –

+0

我的榮幸:-) –

1

你想要的功能被稱爲accumarray

accumarray(id',val) 

它計算新基於id下標的元素。

+0

感謝brodroll .....! –

+0

不客氣! – brodoll

相關問題