MATLAB: I have data of bags sold one by one and the year its sold is given. I have used unique to get the years sorted. i need the number of bags per year using for loop. bags sold against the year has to be plotted.

for loop (counter)

sales_year =(data)
years = unique(sales_year);
counter = 0;
for
%%how do i use a counter to keep adding the sales year each time it encounters it
end

Best Answer

counter = [unique(sales_year), accumarray(sales_year,1)];
or
[g,v] = findgroups(sales_years);
counter = [v,splitapply(@sum,ones(size(g)),g)];
or with loop
y = unique(sales_year);
n = numel(y);
counter = [y,zeros(n,1)];
for ii = 1:n
counter(ii,2) = sum(y(ii) == sales_year);
end