How to calculate mean to an equal area in Matlab?

4 visualizzazioni (ultimi 30 giorni)
I have 900000 time data and 900000 speed data. I need to calculate the mean speed for each 30secs and plot them. How can I get that? Thank you!
  2 Commenti
James Tursa
James Tursa il 22 Feb 2021
Running average, or average of blocks? Is the time data equally spaced?
Xuefei Sun
Xuefei Sun il 22 Feb 2021
Yes, the time data is equally spaced from 1 sec to 900000 sec. And I should calculate mean speed for each 3 sec. Like from 1 to 3, 4 to 6, 7 to 9, ect. And plot them

Accedi per commentare.

Risposta accettata

James Tursa
James Tursa il 22 Feb 2021
Modificato: James Tursa il 22 Feb 2021
n = 3; % or whatever number of samples you need, must be divisible into size of data
time_average = mean(reshape(time_data,n,[]));
speed_average = mean(reshape(speed_data,n,[]));
plot(time_average,speed_average)
  3 Commenti
Xuefei Sun
Xuefei Sun il 22 Feb 2021
But I still have another problem. If I block the time, it seems like the mean speed responding to a certain time(the mean time). But I want to plot the speed sustained in that 3 sec. I mean I want to plot a stragnt line in each 3 sec. Could you teach me how to do that?
Xuefei Sun
Xuefei Sun il 22 Feb 2021
I delete mean for the time_average, and I got it then. Thank you so much.
time_average = reshape(time_data,n,[]);
speed_average = mean(reshape(speed_data,n,[]));
plot(time_average,speed_average)

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by