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 个评论

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;
Yes but my problem is to evaluate the mean over time (data are given in seconds over time)
Are you saying you want a series of mean values, similar to an RMS? Or are you looking for a running average?
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

请先登录,再进行评论。

 采纳的回答

Bob Thompson
Bob Thompson 2019-2-20

0 个投票

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.

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Time Series 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by