extract numbers from time series

3 views (last 30 days)
Have a time series from 1 to 156. Want to extract the values from 1:6, then from (1+12) : (6+12), etc into a new variable. How to go about.
  6 Comments
Adam Danz
Adam Danz on 13 Aug 2018
Ok. If the numbers are serial date numbers that matlab recognizes, my solution should work well. Otherwise, we'd just need to convert them to a format that Matlab recognizes which should be fairly simple.
Johannes Deelstra
Johannes Deelstra on 13 Aug 2018
i solved the problem, thanks for your help and suggestions

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 13 Aug 2018
I don't know what format your dates are in but this can be adapted to any format. I assume your matrix is named 'data' and the dates are in the 5th column.
% Get the month number for each date
monthNum = month(data(:,5));
% Logical index of rows that are between May and October
monthIdx = ismember(monthNum, [5:10]);
% Extract your data for these months
data(monthIdx, :)

More Answers (1)

Fangjun Jiang
Fangjun Jiang on 13 Aug 2018
a=1:156;
b=reshape(a,6,[]);
c=b(:,1:2:end)
  2 Comments
Johannes Deelstra
Johannes Deelstra on 13 Aug 2018
see my answer to the question I got from Adam. Tried to be more specific.
Johannes Deelstra
Johannes Deelstra on 13 Aug 2018
the dates are numbers, such as 33725 33756 33786 33817 33848 33878 33909 33939 33970 34001 34029

Sign in to comment.

Categories

Find more on Dates and Time in Help Center and File Exchange

Tags

Products


Release

R2017a

Community Treasure Hunt

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

Start Hunting!