MATLAB: Group discretized data and determine mean

.binaveragediscretizegroupMATLABmeansplitapply

Dear all,
With help of the community I discretized my data, x-coordinates of particles, into bins. For every bin I want to take the mean of all the x-coordinates that are in the bin. However, as time goes by the bins will be empty since the particles will move out of the bin to another bin. Thus, I can not use the function splitapply to group and take the mean of the x-coordinates in every bin. What can be an alternative for this problem?
for i = 1:length(files)
...
% Define the range of the bins
rng_x{i} = -0.3:0.06:0.3;
% Assign the data of x-coordinate to a predefined range
disc_x{i} = discretize(expData{i,1}(:,1),rng_x{i});
...
end

Best Answer

I found the solution myself. Here is an example for a single data file:
mean = accumarray(disc_x{1,1}(:,1), expData{1,1}(:,2),[6 1], @mean);
Related Question