MATLAB: For a vector, every four data get an average ,then put them into a new vector , its length will be the old’s one fourth,how to make it quickly

average

sometimes it may get average every 5 nums, it will be better to create a function

Best Answer

This works:
Data = randn(1,25); % Create Data (# Columns = multiple of 4)
N = 4; % Number to take the means over
Data = Data(1:N*fix(size(Data,2)/N)); % Truncate Data vector if necessary
DataRs = reshape(Data, N, []); % Create NxM matrix
DataRsMean = mean(DataRs,1); % Take column means to create desired result
To get average over 5, change the N = 4 to N = 5.