How to take the average every 5 data points?
23 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Noah Wilson
am 18 Sep. 2018
Bearbeitet: Image Analyst
am 10 Sep. 2022
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 Kommentare
Christopher Wallace
am 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
Akzeptierte Antwort
Image Analyst
am 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 Kommentare
chris pamp
am 10 Sep. 2022
Thank you for your answer. I want 500 elements to each block. To have leftovers is not a problem
Image Analyst
am 10 Sep. 2022
Bearbeitet: Image Analyst
am 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
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!