вам нужно сгруппировать данные с использованием индекса сезона, а затем использовать accumarray, чтобы получить сумму, а затем взять среднее значение.
data=[0.2, 0.9, 10, 12, 8, 0.9, 10];
mon= [1,1,2,4,6,7,10];
seasons=floor((mon-eps)/3)+1;
accumarray(seasons,data) % this gives you the total
accumarray(seasons(:),ones(size(seasons(:)))) % this gives you the count
% below gives you average
accumarray(seasons(:),data(:))./accumarray(seasons(:),ones(size(seasons(:))))