Определить, является ли расписание регулярным по времени или календарной единице
прибыль tf = isregular(TT,timeComponent)1 (true), если расписание TT является регулярным по отношению к указанному времени или календарной единице. В противном случае возвращается 0 (false). Расписание является регулярным, если его время строк монотонно увеличивается или уменьшается на один и тот же временной шаг.
Если время строки TT являются datetime значения, то временные шаги между ними могут быть регулярными по отношению к календарной единице, такой как месяцы, но нерегулярными по отношению к точному прошедшему времени. Укажите время или календарную единицу с помощью timeComponent входной аргумент.
Например, если время строки является обычным месячным datetime значения, и timeComponent является 'month', то isregular прибыль 1. Но если timeComponent является 'time', то isregular прибыль 0 потому что разные месяцы могут представлять различную продолжительность времени.
Если время строки равно duration значения, затем укажите timeComponent как 'time' или используйте следующий синтаксис. duration тип данных не представляет время с использованием календарных единиц.
В некоторых случаях можно создать расписание, указав обычный шаг времени между временами строк, но при этом расписание будет нерегулярным. Этот результат возникает при указании временного шага с использованием календарной единицы времени, и существует время строки, которое вводит нерегулярный шаг. Например, если создать расписание с шагом времени в один календарный месяц, начиная с 31 января 2019 года, то оно нерегулярно по отношению к месяцам.
stime = datetime(2019,1,31); tstep = calmonths(1); TT = timetable('Size',[3 1],'VariableTypes',{'double'},... 'TimeStep',tstep,'StartTime',stime); tf = isregular(TT,'month')
tf = logical 0
Есть и другие случаи, когда нарушения происходят из-за перехода от летнего времени (DST) или к временам строк, которые являются високосными секундами. В этой таблице указываются значения времени в строках и временные шаги, которые могут неожиданно вызвать нерегулярные расписания.
Значение времени строки | Шаг времени |
|---|---|
Время начала указано как 29-й, 30-й или 31-й день месяца. | Количество календарных месяцев или кварталов. |
Время начала указано как 29 февраля. | Количество календарных лет. |
Любое время строки, возникающее между 1:00 утра и 2:00 утра в день, переходящий с летнего времени на стандартное время (когда время строки указано как datetime значения, в часовом поясе которых соблюдается переход на летнее и зимнее время). | Количество календарных дней или месяцев. |
Любое время строки, являющееся секундой скачка (когда время строки указано как | Временной шаг, указанный в любой календарной единице (дни, недели, месяцы, кварталы или годы). |
caldiff | calendarDuration | datetime | diff | duration | issorted | retime | sortrows | split | synchronize