Предполагая, что b
монотонно увеличивается на 1:
c = cell2mat(transpose(arrayfun( @(x) [ x sum(a(find( b == x ))) ], min(b):max(b), 'UniformOutput',false)))
должно дать правильный ответ в формате с одним вкладышем, или:
for ii=min(b):max(b)
II = find( b == ii );
v = sum(a(II));
c(ii,:) = [ii v];
end
, что немного прощечитать.Надеюсь, это поможет.