extract numbers from time series

2 次查看(过去 30 天)
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 个评论
Adam Danz
Adam Danz 2018-8-13
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 2018-8-13
i solved the problem, thanks for your help and suggestions

请先登录,再进行评论。

采纳的回答

Adam Danz
Adam Danz 2018-8-13
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, :)

更多回答(1 个)

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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Dates and Time 的更多信息

标签

产品


版本

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by