Hi everybody,
I have a set of time series data and I have to check if the average values are within the range for a certain amount of time (for example if the parameter X is in the range for 2 minutes).
Is there a matlab function that allows me to do that?
Thank you for your time!

4 comentarios

Bob Thompson
Bob Thompson el 20 de Feb. de 2019
mean() will calculate an average for you.
You can use an if statement to determine if the values is within a certain range.
if average > 1 & average <= 3;
George1990
George1990 el 20 de Feb. de 2019
Yes but my problem is to evaluate the mean over time (data are given in seconds over time)
Bob Thompson
Bob Thompson el 20 de Feb. de 2019
Are you saying you want a series of mean values, similar to an RMS? Or are you looking for a running average?
George1990
George1990 el 20 de Feb. de 2019
I want a series of mean value and check wether they are in range(fixed values) of not. How do you do that? thank you for your help

Iniciar sesión para comentar.

 Respuesta aceptada

Bob Thompson
Bob Thompson el 20 de Feb. de 2019

0 votos

The 'simplest' way to do a series of mean values is to use a for loop with the mean function.
nmean = 50; % Number of values you would like to average at a time
for i = 1:2*length(data)/nmean
average(i) = mean(data((i-1)*nmean/2:(i-1)*nmean/2+nmean));
end
You may run into an issue with index exceeding matrix dimensions near the end of your data set. If this happens, just reduce the maximum i value by changing the bounds of the loop. If you are not sure how to do that look up the basics of a for loop here.

Más respuestas (0)

Categorías

Preguntada:

el 20 de Feb. de 2019

Respondida:

el 20 de Feb. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by