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-by- m матрица, затем dt = caldiff(t) возвращает матрицу размера (p-1)-by- 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

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

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

Входные параметры

свернуть все

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

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

  • 'years'

  • 'quarters'

  • 'months'

  • 'weeks'

  • 'days'

  • 'time'

Кроме 'time'вышеуказанные компоненты являются гибкими интервалами времени. Для примера один месяц представляет другую длительность времени при добавлении к datetime в январе, чем при добавлении к datetime в феврале.

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

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

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

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

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

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

свернуть все

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

Совет

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

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

См. также

| | |

Введенный в R2014b