How to find the transition for datetime data?

4 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

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

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by