MATLAB: How to pick the right month

daily datadate

The data file covered 13 years from 2003-2016.
But in the data there is no date just the values of prices and demand.
So, can you help me to write a simple code to pick the date,
for example the data of march for all the years?? Then how to calculate the mean and the std for each month?

Best Answer

  • Price = Data1(:,1);
    Demand = Data1(:,2);
    tv = (datetime([2003,1,1]):datetime([2015,12,31])).';
    [Y,M,D] = ymd(tv);
    DT = timetable(Price, Demand, Y, M, D, 'RowTimes', tv);
    Now you can do tests such as
    MarchData = DT(DT.M==3,:);
    and you can also use timerange() selectors, https://www.mathworks.com/help/matlab/ref/timerange.html
    and you can also do calculations such as
    retime(DT, 'monthly', 'sum')