How to find the transition for datetime data?

4 views (last 30 days)
Hi I have a question about how to find the transition for datetime data. I have a time series data and I want to detect the start transition and end transition. I use this following code:
changingdate = rainanalysis{:,'DatumUhrzeit'} >= 1 ;
% use false as logical vector to determine transition. With function diff,
% transitions from false (0) to true (1) will be 1 and transitions from true
% to false will be -1. This will be 1 at the start of a dry period and -1 after the end
datetransitions = diff([false; changingdate; false]);
datestarts = find(datetransitions == 1);
dateends = find(datetransitions == -1) -1;
However I got an error "Comparison is not defined between datetime and double arrays." I attach also the time series table and the picture contain error message here. Thank you for your help.

Accepted Answer

Walter Roberson
Walter Roberson on 18 Nov 2017
changingdate = diff(rainanalysis{:,'DatumUhrzeit'}) >= 1 ;
  6 Comments
Peter Perkins
Peter Perkins on 20 Nov 2017
Walter's solutions are correct, but I might suggest substituting caldays(1) for 1, for readability.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!