2012-03-20 22 views
2

可以說,這取決於值的非零值,我們下面的兩個向量:MatLab的:分組在另一個載體

data = [1 2 2 2 3 3 3 3 3 3 4 4 4 4 4 ]; 
x_axis = [1 1 1 2 2 2 3 3 3 3 3 4 4 5 5 ]; 

我現在想有是計算所有數據值其例如一個在X_AXIS,則這些值這是兩個等,所以該結果應該爲以下(其中i,那麼可以表示爲直方圖):

result=[5 8 16 8 8]; 
    x_axis=[1 2 3 4 5]; 

回答

1

這是accumarray完美的應用例子:

data = [1 2 2 2 3 3 3 3 3 3 4 4 4 4 4 ]; 
x_axis = [1 1 1 2 2 2 3 3 3 3 3 4 4 5 5 ]; 

result = accumarray(x_axis(:),data(:),[],@sum) 
result = 
5 
8 
16 
8 
8 
+0

非常感謝! – 2012-03-20 13:19:56

相關問題