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