有沒有一種方法可以讓accumarray
每個觀察除了每個組的最後一個?Accumarray如何設置「樂趣」只使用每個bin的最後一個obs
我腦子裏想的是什麼類似的東西:
lastobs=accumarray(bin,x,[],@(x){pick the observation with the max index in each group};
給你舉個例子,假設我有以下幾點:
bin=[1 2 3 3 3 4 4]; %#The bin where the observations should be put
x= [21 3 12 5 6 8 31]; %#The vector of observations
%#The output I would like is as follow
lastobs=[21 3 6 31];
我其實想的accumarray
只是因爲我只是用它來計算每個箱的觀測值的平均值。所以每一個可以製造這個技巧的功能對我來說都會很好。
謝謝喬納斯,我仍然與索引混亂。我嘗試了很多組合,但不是最簡單的組合!很高興你永遠在場,以幫助 – Gio
對於未來的讀者:'bin'需要進行排序才能正常工作! – knedlsepp
@knedlsepp:不,「bin」可以是任何順序,只要它的順序對應於'x'中元素的順序即可。或者你可以舉一個例子,它不起作用? – Jonas