How to take the average every 5 data points?
39 views (last 30 days)
Show older comments
I have a matrix 'GoogleDateClose' that is 251 by 2. The first column is just 1-252 to give a number assigned to each value in column 2. In column 2 I have all the data points. I need to write a script to take the mean of every 5 data points and put the resulting values into another matrix so I am able to plot those values. I feel like I did a poor job of describing what I am trying to get so please let me know if I can clarify.
2 Comments
Christopher Wallace
on 18 Sep 2018
Do you mean take every 5th value (5, 10, 15) and then take the mean or take values 1-5 and calculate the mean and then take values 6-10 and calculate the mean
Accepted Answer
Image Analyst
on 18 Sep 2018
251 or 251 is not a multiple of 5. So here it is for 250:
data = [(1:252)', rand(252, 1)] % Create sample data
column2 = data(:, 2);
out = reshape(column2(1:250), [], 5)
means5 = mean(out, 2)
4 Comments
chris pamp
on 10 Sep 2022
Thank you for your answer. I want 500 elements to each block. To have leftovers is not a problem
Image Analyst
on 10 Sep 2022
Edited: Image Analyst
on 10 Sep 2022
Did you try something obvious like a for loop?
counter = 1;
for k = 1 : 500 : length(yourVector)
k2 = min([k + 499, length(yourVector)]);
theMeans(counter) = mean(yourVector(k : k2));
counter = counter + 1;
end
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!