exponenta event banner

caldiff

Календарные математические последовательные различия

Описание

пример

dt = caldiff(t) вычисляет временные различия между соседними значениями datetime в t по годам, месяцам, дням и времени календарных компонентов. caldiff вычисляет различия вдоль первого размера массива, размер которого не равен 1.

  • Если t - вектор длины m, то dt = caldiff(t) возвращает вектор длины m-1. Элементы dt представляют собой различия между соседними элементами t.

    dt = [between(t(1),t(2)), between(t(2),t(3)),..., between(t(m-1),t(m))]
  • Если t является невектором pоколо-m матрица, затем dt = caldiff(t) возвращает матрицу размера (p-1)около-m, элементами которых являются различия между строками t.

    dt(:,I) = [between(t(1,I),t(2,I), between(t(2,I),t(3,I)), ..., 
    between(t(p-1,I),t(p,I))]

пример

dt = caldiff(t,components) находит различия между последовательными датами в t в терминах указанных календарных или временных компонентов.

dt = caldiff(t,components,dim) находит различия между последовательными датами вдоль размера, указанного dim.

Примеры

свернуть все

Создать datetime и затем вычислить различия между значениями в терминах компонентов календаря.

t = [datetime('yesterday');datetime('today');datetime('tomorrow')]
t = 3x1 datetime
   22-Mar-2021
   23-Mar-2021
   24-Mar-2021

D = caldiff(t)
D = 2x1 calendarDuration
   1d
   1d

Создать datetime и затем вычислить различия между значениями в днях.

t = datetime('now') + calmonths(0:3)
t = 1x4 datetime
Columns 1 through 3

   23-Mar-2021 17:02:54   23-Apr-2021 17:02:54   23-May-2021 17:02:54

Column 4

   23-Jun-2021 17:02:54

D = caldiff(t,'days')
D = 1x3 calendarDuration
   31d   30d   31d

Вычислить различия между значениями даты и времени в неделях и днях.

D = caldiff(t,{'weeks','days'})
D = 1x3 calendarDuration
   4w 3d   4w 2d   4w 3d

Входные аргументы

свернуть все

Дата и время ввода, указанные как datetime массив.

Компоненты календаря или времени, указанные как один из следующих векторов символов, или массив ячеек или строковый массив, содержащий одно или несколько из этих значений:

  • 'years'

  • 'quarters'

  • 'months'

  • 'weeks'

  • 'days'

  • 'time'

За исключением 'time'указанные компоненты представляют собой гибкие отрезки времени. Например, один месяц представляет другую продолжительность времени при добавлении к дате и времени в январе, чем при добавлении к дате и времени в феврале.

caldiff работает с компонентами календаря или времени в порядке убывания, начиная с самого большого компонента.

В общем, t(2:m) не равно t(1:m-1) + dt, если вы не включили 'time' в components.

Пример: {'years','quarters'}

Типы данных: char | cell | string

Размерность для работы, заданная как положительное целое число. Если значение не указано, по умолчанию используется первый размер массива, размер которого не равен 1.

Выходные аргументы

свернуть все

Разностный массив, возвращаемый как скаляр, вектор, матрица или многомерный calendarDuration массив.

Совет

  • Вычисление последовательных различий между датами в t1 и t2 в качестве точных, фиксированной длины единиц часов, минут и секунд, использовать diff(t).

Расширенные возможности

См. также

| | |

Представлен в R2014b