Определите, является ли расписание регулярным относительно времени или календарного модуля
возвращает tf
= isregular(TT
,timeComponent
)1
(true
) если timetable TT
является регулярным по отношению к указанному времени или календарному модулю. В противном случае возвращается 0
(false
). Расписание регулярно, если его строки увеличиваются или уменьшаются монотонно к тому же временному шагу.
Если задано время строки TT
являются datetime
значения, тогда временные шаги между ними могут быть регулярными относительно календарного модуля, такой как месяцы, но нерегулярными относительно точного истекшего времени. Задайте время или модуль календаря при помощи timeComponent
входной параметр.
Например, если значения времени строк являются регулярными ежемесячными datetime
значения и timeComponent
является 'month'
, затем isregular
возвращает 1
. Но если timeComponent
является 'time'
, затем isregular
возвращает 0
потому что различные месяцы могут представлять различные промежутки времени.
Если время строки duration
Значения затем задайте timeComponent
как 'time'
или используйте следующий синтаксис. The 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 в день перехода от DST к стандартному времени (когда время строки задано как datetime значения, чей часовой пояс наблюдает DST). | Количество календарных дней или месяцев. |
Любое время строки, которое является скачком секунды (когда время строки задано как | Временной шаг, заданный в любом календарном модуле (дни, недели, месяцы, кварталы или годы). |
caldiff
| calendarDuration
| datetime
| diff
| duration
| issorted
| retime
| sortrows
| split
| synchronize