Calculate mean value between 2 years

5 views (last 30 days)
Anh Duong
Anh Duong on 30 Mar 2022
Commented: Anh Duong on 31 Mar 2022
I have a set of data from Jan 2000 to 2011, and I want to calculate mean value of data from Nov of one year to Apr of the next year. How can I do it?

Accepted Answer

Simon Chan
Simon Chan on 30 Mar 2022
Edited: Simon Chan on 30 Mar 2022
Not sure what is the format of your data. Use function isbetween and below shows an example that you can implement it into your code.
TimeStamps = datetime([2000 11 4; 2001 3 2; 2001 8 15; 2001 10 10;...
2001 12 14; 2002 1 31; 2002 3 25;...
2002 4 29; 2002 12 21; 2003 3 18]);
Profit = [2032 3071 1185 2587 1998 2899 3112 909 2619 3085]';
TT = timetable(TimeStamps,Profit);
tlower = datetime(2000,11,1)+calyears(0:11);
thigher = datetime(2001,4,30)+calyears(0:11);
meanProfit = arrayfun(@(x,y) mean(TT.Profit(isbetween(TT.TimeStamps,x,y))),tlower,thigher)
meanProfit = 1×12
1.0e+03 * 2.5515 2.2295 2.8520 NaN NaN NaN NaN NaN NaN NaN NaN NaN
  3 Comments
Anh Duong
Anh Duong on 31 Mar 2022
I want to express the time as a column to plot a mean-time graph based on the table, should i use the aforementioned method or timerange function?

Sign in to comment.

More Answers (1)

Sam Chak
Sam Chak on 30 Mar 2022
I think the M = mean(A) function will do the job. Give it a try.

Tags

Products


Release

R2014b

Community Treasure Hunt

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

Start Hunting!

Translated by