timetable

Массив расписания со строками с меткой времени и переменными различных типов

Описание

timetable тип таблицы, которая сопоставляет время с каждой строкой. Как таблицы, расписания хранят переменные данных в столбцах, которые могут иметь различные типы данных и размеры, пока у них есть одинаковое число строк. Кроме того, расписания обеспечивают специфичные для времени функции, чтобы выровнять, объединить, и выполнить вычисления с данными с меткой времени в одном или нескольких расписаниях.

Временами строки расписания является datetime или duration значения, которые помечают строки. Можно индексировать в расписание ко времени строки и переменной. Чтобы индексировать в расписание, используйте сглаженные круглые скобки () возвратить подтаблицу или фигурные скобки {} извлекать содержимое. Можно сослаться на переменные и вектор времен строки с помощью имен. Для получения дополнительной информации об индексации смотрите, Выбирают Timetable Data by Row Time и Variable Type и Access Data in Tables.

Создание

Можно считать данные из файла в таблицу с помощью readtimetable функция, или преобразуют переменные в расписания с помощью array2timetable или table2timetable функции. В качестве альтернативы можно использовать timetable функция, описанная ниже.

Когда вы используете timetable функция, можно задать вектор времен строки или создать времена строки с помощью частоты дискретизации или временного шага. Кроме того, можно создать расписание с предварительно выделенным местом для переменных, значения которых заполнены в позже.

Описание

пример

TT = timetable(rowTimes,var1,...,varN) создает расписание из переменных var1,...,varN входных данных и временной вектор rowTimes. Переменные данных могут иметь различные размеры и типы данных, пока у них есть одинаковое число строк. rowTimes должен быть datetime или вектор длительности, также с одинаковым числом строк.

пример

TT = timetable(var1,...,varN,'RowTimes',rowTimes) задает rowTimes как источник времен строки TT. Когда вы используете этот синтаксис, имя вектора времен строки TT всегда Time, даже когда rowTimes переменная рабочей области с другим именем.

пример

TT = timetable(var1,...,varN,'SampleRate',Fs) использует частоту дискретизации Fs вычислить расположенные с равными интервалами времена строки. Fs положительный числовой скаляр, который задает количество выборок в секунду (Гц). Первый раз строки является нулевыми секундами.

пример

TT = timetable(var1,...,varN,'TimeStep',dt) использует временной шаг dt вычислить расположенные с равными интервалами времена строки. dt длительность или календарное значение длительности, которое задает отрезок времени между временами строки подряд. Первый раз строки является нулевыми секундами.

пример

TT = timetable('Size',sz,'VariableTypes',varTypes,'RowTimes',rowTimes) создает расписание и предварительно выделяет место для переменных, которые имеют типы данных, которые вы задаете. sz двухэлементный числовой массив, где sz[1] задает количество строк и sz[2] задает количество переменных. varTypes массив ячеек из символьных векторов, задающий типы данных. Число раз в rowTimes должен равняться sz[1].

пример

TT = timetable('Size',sz,'VariableTypes',varTypes,'SampleRate',Fs) предварительно выделяет переменные с типами данных и добавляет времена строки с помощью частоты дискретизации Fs. Первый раз строки является нулевыми секундами.

пример

TT = timetable('Size',sz,'VariableTypes',varTypes,'TimeStep',dt) предварительно выделяет переменные с типами данных и добавляет времена строки с помощью временного шага dt. Первый раз строки является нулевыми секундами.

пример

TT = timetable(___,Name,Value) задает дополнительные входные параметры с помощью одного или нескольких аргументов пары "имя-значение". Например, можно задать имена переменных с помощью 'VariableNames' пара "имя-значение". Также можно задать время начала с помощью 'StartTime' пара "имя-значение" с частотой дискретизации или временным шагом. Можно использовать этот синтаксис с любым из входных параметров предыдущих синтаксисов.

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

развернуть все

Входные переменные в виде массивов с одинаковым числом строк. Входные переменные могут иметь различные размеры и различные типы данных, пока у них есть одинаковое число строк.

Общие входные переменные являются числовыми массивами, логическими массивами, строковыми массивами, массивами структур и массивами ячеек.

Входные переменные также могут быть объектами, которые являются массивами. Такой массив должен поддержать индексацию формы var(index1,...,indexN), где index1 числовой или логический вектор, который соответствует строкам переменной var. Кроме того, массив должен реализовать обоих vertcat метод и size метод с dim аргумент.

Времена, сопоставленные со строками расписания в виде вектора datetime или вектора длительности. Каждый раз помечает строку в выходном расписании, TT. Временные стоимости в rowTimes не должны быть уникальными, не отсортированы, или регулярными.

Типы данных: datetime | duration

Размер предварительно выделенного расписания в виде двухэлементного числового вектора. Первый элемент sz задает количество строк, и второй элемент задает количество переменных расписания.

Типы данных предварительно выделенных переменных в виде массива ячеек из символьных векторов или массива строк. Количество типов задано varTypes должен равняться количеству переменных, заданных вторым элементом sz.

varTypes может содержать имена любых типов данных, включая имена, показанные в таблице.

Имя типа данных

Начальное значение в каждом элементе

'double' единственный

Дважды - или 0 с одинарной точностью

'doublenan', 'doubleNaN''singlenan', 'singleNaN'

Дважды - или NaN с одинарной точностью

'int8' int16 int32 int64

Подписанный 8-, 16-, 32-, или 64-битный целочисленный 0

'uint8' uint16 uint32 uint64

8-без знака, 16-, 32-, или 64-битный целочисленный 0

'logical'

0 ложь)

'categorical'

<undefined> категориальное значение

'datetime'

NaT значение datetime

'duration'

0 секунды, как значение длительности

'calendarDuration'

0 дни, как календарное значение длительности

'string'

"" (1 на 1 представьте в виде строки без символов),

'cellstr'

{''} (ячейка с символьным массивом 0 на 0)

'cell'

{[]} (ячейка с двойным массивом 0 на 0)

'struct'

Скалярная структура без полей

'table'

Таблица без переменных

Для любого другого типа данных начальное значение является значением, используемым тем типом, или класс к "заполнению" отменил присвоение элементов массива.

Если вы задаете 'char' как тип данных, затем timetable предварительно выделяет соответствующую переменную как массив ячеек из символьных векторов, не как символьный массив. Лучшая практика состоит в том, чтобы не составлять переменные таблицы или расписания, которые являются символьными массивами. При работе с текстовыми данными в таблице или расписании, рассмотрите использование массива строк или категориального массива.

Частота дискретизации в виде положительного числового скаляра. Fs задает количество выборок в секунду (Гц).

Временной шаг в виде скаляра длительности.

Если вы задаете dt как календарная длительность, и вы задаете 'StartTime' аргумент пары "имя-значение", затем значение 'StartTime' должен быть скаляр datetime.

Типы данных: duration | calendarDuration

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: TT = timetable(rowTimes,T,W,'VariableNames',{'Temperature','WindSpeed'}) создает расписание из входных массивов T и W, и называет соответствующие переменные Temperature расписания и WindSpeed.

Имена переменных в виде разделенной запятой пары, состоящей из 'VariableNames' и массив ячеек из символьных векторов или массив строк, элементы которого непусты и отличны.

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

  • timetable функционируйте также хранит имена переменных в VariableNames свойство расписания.

  • Имена переменных могут иметь любые символы Unicode®, включая символы non-ASCII и пробелы.

Время начала в виде разделенной запятой пары, состоящей из 'StartTime' и скаляр datetime или скаляр длительности. Время начала является также временем строки первой строки расписания.

Можно задать 'StartTime' только, когда вы также задаете 'SampleRate' или 'TimeStep' аргумент пары "имя-значение".

  • Если время начала является значением datetime, то времена строки TT значения datetime.

  • Если время начала является длительностью, то времена строки являются длительностью.

  • Если временной шаг dt календарное значение длительности, затем время начала должно быть значением datetime.

Типы данных: datetime | duration

Свойства

развернуть все

Доступ к свойствам метаданных расписания

Расписание содержит свойства метаданных, которые описывают расписание, его времена строки и его переменные. Доступ к этим свойствам с помощью синтаксиса timetableNameсвойства., где PropertyName имя свойства. Например, можно получить доступ к именам переменных в расписании TT через TT.Properties.VariableNames свойство.

Можно возвратить сводные данные свойств метаданных с помощью синтаксиса timetableNameсвойства.

Расписания обеспечивают доступ к метаданным через Properties свойство, потому что можно получить доступ к данным о расписании непосредственно с помощью точечного синтаксиса. Например, если расписание TT имеет переменную под названием Var1, затем можно получить доступ к значениям в переменной при помощи синтаксиса TT.Var1.

Метаданные расписания

Размерность называет в виде двухэлементного массива ячеек из символьных векторов или двухэлементного массива строк.

  • Имена размерности могут иметь любые символы Unicode, включая символы non-ASCII и пробелы.

  • Если вы задаете это свойство с помощью массива строк, то оно преобразовано и сохранено как массив ячеек из символьных векторов.

Можно получить доступ к данным о расписании с помощью двух имен размерности.

  • Если вы используете точечный синтаксис и первое имя размерности, то можно получить доступ ко временам строки как к вектору.

  • Если вы используете точечный синтаксис и имя второго измерения, то данные из всех переменных конкатенированы вместе в одном массиве, как будто вы индексировали в расписание с помощью {:,:} синтаксис.

Пример

Создайте расписание и отобразите его имена размерности. Можно получить доступ ко временам строки и данным с помощью имен размерности с точечным синтаксисом.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]);
TT.Properties.DimensionNames
ans = 1x2 cell
    {'Time'}    {'Variables'}

Доступ ко временам строки с помощью первого имени размерности.

TT.Time
ans = 3x1 datetime
   18-Dec-2015
   19-Dec-2015
   20-Dec-2015

Доступ к данным с помощью имени второго измерения. Этот синтаксис эквивалентен TT{:,:,}.

TT.Variables
ans = 3×3

   37.3000   30.1000   13.4000
   39.1000   30.0300    6.5000
   42.3000   29.9000    7.3000

Измените имена его размерностей с помощью Properties.DimensionNames свойство. Поменяв имена размерности, можно получить доступ ко временам строки и данным с помощью синтаксисов TT.Date и TT.WeatherData соответственно.

TT.Properties.DimensionNames = {'Date','WeatherData'};
TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Date'  'WeatherData'}
           VariableNames: {'Var1'  'Var2'  'Var3'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [3x1 datetime]
               StartTime: 18-Dec-2015
              SampleRate: NaN
                TimeStep: 1d
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

Описание расписания в виде вектора символов или строкового скаляра. Это описание отображается при использовании summary функция.

Если вы задаете это свойство с помощью строкового скаляра, то оно преобразовано и сохранено как вектор символов.

Пример

Создайте расписание. Измените имена переменных и описание расписания. Отобразите сводные данные результата.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]);
TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'};
TT.Properties.Description = 'Weather Data from December 2015';
summary(TT)
Description:  Weather Data from December 2015

RowTimes:

    Time: 3x1 datetime
        Values:
            Min           18-Dec-2015 
            Median        19-Dec-2015 
            Max           20-Dec-2015 
            TimeStep      24:00:00    

Variables:

    Temp: 3x1 double

        Values:

            Min         37.3  
            Median      39.1  
            Max         42.3  

    Pressure: 3x1 double

        Values:

            Min         29.9  
            Median     30.03  
            Max         30.1  

    WindSpeed: 3x1 double

        Values:

            Min          6.5  
            Median       7.3  
            Max         13.4  

Дополнительная информация о расписании в виде массива. Можно присоединить данные любого вида к расписанию с помощью этого свойства.

Пример

Создайте расписание. Измените имена переменных. Присоедините анонимную функцию как часть пользовательских данных, которые сопоставлены с расписанием.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]);
TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'};
Fahrenheit2Celsius = @(x) (5.0/9.0).*(x - 32);
TT.Properties.UserData = Fahrenheit2Celsius;
TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: @(x)(5.0/9.0).*(x-32)
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'Temp'  'Pressure'  'WindSpeed'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [3x1 datetime]
               StartTime: 18-Dec-2015
              SampleRate: NaN
                TimeStep: 1d
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

Метаданные времен строки

Времена строки в виде вектора datetime или вектора длительности.

  • Должно быть время строки для каждой строки расписания.

  • Расписание может иметь времена строки, которые являются копиями, не в порядке, или NaT или NaN значения.

  • Времена строки отображаются, когда вы просматриваете расписание. Кроме того, можно использовать времена строки в круглых скобках или фигурных скобках, чтобы получить доступ к данным о расписании.

  • Другой способ получить доступ ко временам строки состоит в том, чтобы использовать точечный синтаксис и имя первой размерности расписания.

Пример

Создайте расписание. Затем замените его времена строки с помощью Properties.RowTimes свойство.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3])
TT=3×3 timetable
       Time        Var1    Var2     Var3
    ___________    ____    _____    ____

    18-Dec-2015    37.3     30.1    13.4
    19-Dec-2015    39.1    30.03     6.5
    20-Dec-2015    42.3     29.9     7.3

Dates = datetime(2017,1,1:3);
TT.Properties.RowTimes = Dates
TT=3×3 timetable
       Time        Var1    Var2     Var3
    ___________    ____    _____    ____

    01-Jan-2017    37.3     30.1    13.4
    02-Jan-2017    39.1    30.03     6.5
    03-Jan-2017    42.3     29.9     7.3

Другой способ получить доступ ко временам строки при помощи точечного синтаксиса с именем первой размерности расписания.

TT.Properties.DimensionNames
ans = 1x2 cell
    {'Time'}    {'Variables'}

TT.Time
ans = 3x1 datetime
   01-Jan-2017
   02-Jan-2017
   03-Jan-2017

Время начала времен строки в виде скаляра datetime или скаляра длительности. Время начала равно времени строки для первой строки расписания и имеет совпадающий тип данных.

  • Если время начала является datetime, то времена строки TT значения datetime.

  • Если время начала является длительностью, то времена строки являются длительностью.

  • Если временной шаг является календарной длительностью, то время начала должно быть значением datetime.

Если расписание пусто, то временем начала является NaN.

Пример

Создайте расписание. В этом расписании временной шаг между последовательными строками не является тем же самым, таким образом, расписание неправильно.

TT = timetable(datetime({'2015-12-18';'2015-12-20';'2015-12-21'}), ...
               [37.3;39.1;42.3],[13.4;6.5;7.3],{'N';'SE';'NW'});
TT.Properties.VariableNames = {'Temperature','WindSpeed','WindDirection'}
TT=3×3 timetable
       Time        Temperature    WindSpeed    WindDirection
    ___________    ___________    _________    _____________

    18-Dec-2015       37.3          13.4          {'N' }    
    20-Dec-2015       39.1           6.5          {'SE'}    
    21-Dec-2015       42.3           7.3          {'NW'}    

Отобразите его свойства. Значение StartTime свойство равно первому разу строки. Обычно ли расписание или неправильно, оно всегда имеет время начала, если это не пусто.

TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'Temperature'  'WindSpeed'  'WindDirection'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [3x1 datetime]
               StartTime: 18-Dec-2015
              SampleRate: NaN
                TimeStep: NaN
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

Измените StartTime свойство. Обратите внимание на то, что все времена строки имеют новые значения. В течение каждого раза строки изменение в значении равно различию между исходным значением первого раза строки и новым временем начала.

TT.Properties.StartTime = datetime('2018-04-09')
TT=3×3 timetable
       Time        Temperature    WindSpeed    WindDirection
    ___________    ___________    _________    _____________

    09-Apr-2018       37.3          13.4          {'N' }    
    11-Apr-2018       39.1           6.5          {'SE'}    
    12-Apr-2018       42.3           7.3          {'NW'}    

Частота дискретизации в виде положительного числового скаляра. Частота дискретизации является количеством выборок в секунду (Гц).

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

Пример

Временной шаг в виде скаляра длительности.

  • Если вы задаете временной шаг как календарную длительность (например, календарные месяцы), то вектор времен строки должен быть вектором datetime.

  • Если вы задаете временной шаг как длительность (например, секунды), то вектор времен строки или может быть datetime или вектором длительности.

Если времена строки не являются регулярными, или расписание пусто, то временным шагом является NaN.

Пример

Создайте обычное расписание. В этом расписании времена строки являются длительностью, созданное использование того же временного шага.

Intensity = [100;98.7;95.2;101.4;99.1];
TT = timetable(Intensity,'TimeStep',seconds(0.01))
TT=5×1 timetable
      Time      Intensity
    ________    _________

    0 sec           100  
    0.01 sec       98.7  
    0.02 sec       95.2  
    0.03 sec      101.4  
    0.04 sec       99.1  

Отобразите его свойства. TimeStep свойство хранит временной шаг как длительность.

TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'Intensity'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [5x1 duration]
               StartTime: 0 sec
              SampleRate: 100
                TimeStep: 0.01 sec
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

Измените TimeStep свойство. Время начала является тем же самым, но все другие времена строки отличаются, потому что временной шаг больше. Однако переменная Intensity остается то же самое.

TT.Properties.TimeStep = seconds(0.04)
TT=5×1 timetable
      Time      Intensity
    ________    _________

    0 sec           100  
    0.04 sec       98.7  
    0.08 sec       95.2  
    0.12 sec      101.4  
    0.16 sec       99.1  

Типы данных: duration | calendarDuration

Переменные метаданные

Имена переменных в виде массива ячеек из символьных векторов или массива строк, элементы которого непусты и отличны. Количество имен должно равняться количеству переменных.

  • Имена переменных могут иметь любые символы Unicode, включая символы non-ASCII и пробелы.

  • Имена переменных отображаются при просмотре расписания и при использовании summary функция. Кроме того, можно использовать имена переменных в круглых скобках в фигурных скобках, или с индексацией точки, чтобы получить доступ к табличным данным.

  • Если вы задаете это свойство с помощью массива строк, то оно преобразовано и сохранено как массив ячеек из символьных векторов.

Пример

Создайте расписание с именами переменных по умолчанию. Затем измените имена с помощью Properties.VariableNames свойство.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3])
TT=3×3 timetable
       Time        Var1    Var2     Var3
    ___________    ____    _____    ____

    18-Dec-2015    37.3     30.1    13.4
    19-Dec-2015    39.1    30.03     6.5
    20-Dec-2015    42.3     29.9     7.3

TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'}
TT=3×3 timetable
       Time        Temp    Pressure    WindSpeed
    ___________    ____    ________    _________

    18-Dec-2015    37.3      30.1        13.4   
    19-Dec-2015    39.1     30.03         6.5   
    20-Dec-2015    42.3      29.9         7.3   

Основной способ отобразиться и изменить переменные состоит в том, чтобы получить доступ к ним по наименованию использующий точечный синтаксис.

TT.Temp
ans = 3×1

   37.3000
   39.1000
   42.3000

TT.Pressure(3) = 30
TT=3×3 timetable
       Time        Temp    Pressure    WindSpeed
    ___________    ____    ________    _________

    18-Dec-2015    37.3      30.1        13.4   
    19-Dec-2015    39.1     30.03         6.5   
    20-Dec-2015    42.3        30         7.3   

Описания переменной в виде массива ячеек из символьных векторов или массива строк. Это свойство может быть массивом пустой ячейки, который является значением по умолчанию. Если массив не пуст, то он должен содержать столько же элементов, сколько существуют переменные. Можно задать отдельный пустой символьный вектор или пустую строку для переменной, которая не имеет описания.

  • Описания переменной отображаются при использовании summary функция.

  • Если вы задаете это свойство с помощью массива строк, то оно преобразовано и сохранено как массив ячеек из символьных векторов.

Пример

Создайте расписание. Измените имена переменных и описания. Отобразите сводные данные результата.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]);
TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'};
TT.Properties.VariableDescriptions = {'Temperature (external)', ...
                                      'Pressure in Hg', ...
                                      'Wind speed at sensor 123'};
summary(TT)
RowTimes:

    Time: 3x1 datetime
        Values:
            Min           18-Dec-2015 
            Median        19-Dec-2015 
            Max           20-Dec-2015 
            TimeStep      24:00:00    

Variables:

    Temp: 3x1 double

        Properties:
            Description:  Temperature (external)
        Values:

            Min         37.3  
            Median      39.1  
            Max         42.3  

    Pressure: 3x1 double

        Properties:
            Description:  Pressure in Hg
        Values:

            Min         29.9  
            Median     30.03  
            Max         30.1  

    WindSpeed: 3x1 double

        Properties:
            Description:  Wind speed at sensor 123
        Values:

            Min          6.5  
            Median       7.3  
            Max         13.4  

Переменные модули в виде массива ячеек из символьных векторов или массива строк. Это свойство может быть массивом пустой ячейки, который является значением по умолчанию. Если массив не пуст, то он должен содержать столько же элементов, сколько существуют переменные. Можно задать отдельный пустой символьный вектор или пустую строку для переменной, которая не имеет модулей.

  • Переменные модули отображаются при использовании summary функция.

  • Если вы задаете это свойство с помощью массива строк, то оно преобразовано и сохранено как массив ячеек из символьных векторов.

Пример

Создайте расписание. Измените имена переменных и модули. Отобразите сводные данные результата.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]);
TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'};
TT.Properties.VariableUnits = {'degrees F','mm Hg','mph'};
summary(TT)
RowTimes:

    Time: 3x1 datetime
        Values:
            Min           18-Dec-2015 
            Median        19-Dec-2015 
            Max           20-Dec-2015 
            TimeStep      24:00:00    

Variables:

    Temp: 3x1 double

        Properties:
            Units:  degrees F
        Values:

            Min         37.3  
            Median      39.1  
            Max         42.3  

    Pressure: 3x1 double

        Properties:
            Units:  mm Hg
        Values:

            Min         29.9  
            Median     30.03  
            Max         30.1  

    WindSpeed: 3x1 double

        Properties:
            Units:  mph
        Values:

            Min          6.5  
            Median       7.3  
            Max         13.4  

Состояние как непрерывные или дискретные переменные в виде массива ячеек из символьных векторов или массива строк. Это свойство может быть пустым массивом, который является значением по умолчанию. Если массив не пуст, то он должен содержать столько же элементов, сколько существуют переменные. Каждым элементом может быть любой 'unset', 'continuous'шаг, или 'event'.

Значения в VariableContinuity влияйте как retime или synchronize функции работают. Если вы задаете VariableContinuity и вызовите retime или synchronize, затем вы не должны задавать метод. Вместо этого retime и synchronize заполните выходные переменные расписания с помощью следующих методов по умолчанию:

  • 'unset' — Заполните значения с помощью индикатора недостающих данных в том типе (такие как NaN для числовых переменных).

  • 'continuous' — Заполните значения с помощью линейной интерполяции.

  • 'step' — Заполните значения с помощью предыдущего значения.

  • 'event' — Заполните значения с помощью индикатора недостающих данных в том типе (такие как NaN для числовых переменных).

Если вы действительно задаете метод как входной параметр к retime или synchronize, затем тот метод заменяет значения, которые вы задаете в VariableContinuity.

Для получения дополнительной информации об использовании VariableContinuity свойство, смотрите, Повторно синхронизируют и Синхронизируют Переменные Расписания Используя Различные Методы.

Пример

Создайте расписание. Задайте matlab.tabular.Continuity значение для каждой переменной.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[13.4;6.5;7.3],{'N';'SE';'NW'});
TT.Properties.VariableNames = {'Temperature','WindSpeed','WindDirection'};
TT.Properties.VariableContinuity = {'continuous','event','event'};
TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'Temperature'  'WindSpeed'  'WindDirection'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: [continuous    event    event]
                RowTimes: [3x1 datetime]
               StartTime: 18-Dec-2015
              SampleRate: NaN
                TimeStep: 1d
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

Пользовательские метаданные

Индивидуально настраиваемые метаданные расписания и его переменных в виде CustomProperties объект.

CustomProperties объект является контейнером для индивидуально настраиваемых метаданных, которые можно добавить в расписание. По умолчанию, CustomProperties имеет нулевые свойства. Каждое свойство вы добавляете к CustomProperties может содержать или табличные метаданные или переменные метаданные. Если свойство содержит переменные метаданные, то его значение должно быть массивом, и число элементов в массиве должно равняться количеству переменных расписания.

  • Чтобы добавить свойства для индивидуально настраиваемых метаданных к расписанию, используйте addprop функция.

  • Чтобы получить доступ или изменить настроенные метаданные, используйте синтаксис timetableNameсвойства. Custom Properties.. В этом синтаксисе, PropertyName имя, которое вы выбрали, когда вы добавили то свойство с помощью addprop.

  • Чтобы удалить свойства, используйте rmprop функция.

Примечание: можно добавить или удалить только свойства для индивидуально настраиваемых метаданных с помощью addprop и rmprop. Вы не можете добавить или удалить свойства timetableNameсвойства объект.

Пример

Создайте расписание, содержащее данные о погоде.

TT = timetable(datetime({'2015-12-18';'2015-12-20';'2015-12-21'}), ...
               [37.3;39.1;42.3],[13.4;6.5;7.3],{'N';'SE';'NW'});
TT.Properties.VariableNames = {'Temperature','WindSpeed','WindDirection'}
TT=3×3 timetable
       Time        Temperature    WindSpeed    WindDirection
    ___________    ___________    _________    _____________

    18-Dec-2015       37.3          13.4          {'N' }    
    20-Dec-2015       39.1           6.5          {'SE'}    
    21-Dec-2015       42.3           7.3          {'NW'}    

Чтобы описать инструменты, которые измерили эти данные и имя выходного файла, добавляют, настроенные метаданные с помощью addprop функция. Instruments свойство имеет переменные метаданные, которые применяются к переменным TT. OutputFile свойство имеет табличные метаданные.

TT = addprop(TT,{'Instruments','OutputFile'},{'variable','table'});
TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'Temperature'  'WindSpeed'  'WindDirection'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [3x1 datetime]
               StartTime: 18-Dec-2015
              SampleRate: NaN
                TimeStep: NaN

   Custom Properties (access using t.Properties.CustomProperties.<name>):
              OutputFile: []
             Instruments: []

Присвойте значения индивидуально настраиваемым метаданным с помощью точечного синтаксиса. Когда вы присваиваете массив текстовых значений к индивидуально настраиваемым метаданным, лучшая практика состоит в том, чтобы использовать массив строк, не массив ячеек из символьных векторов. Если свойство CustomProperties массив ячеек из символьных векторов, затем нет никакого механизма, чтобы предотвратить вас от более поздних нетекстовых значений присвоения как элементы массива ячеек.

TT.Properties.CustomProperties.Instruments = ["thermometer","anemometer","wind vane"];
TT.Properties.CustomProperties.OutputFile = 'weatherReadings.csv';
TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'Temperature'  'WindSpeed'  'WindDirection'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [3x1 datetime]
               StartTime: 18-Dec-2015
              SampleRate: NaN
                TimeStep: NaN

   Custom Properties (access using t.Properties.CustomProperties.<name>):
              OutputFile: 'weatherReadings.csv'
             Instruments: ["thermometer"    "anemometer"    "wind vane"]

Удалите OutputFile свойство от TT.

TT = rmprop(TT,'OutputFile');
TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'Temperature'  'WindSpeed'  'WindDirection'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [3x1 datetime]
               StartTime: 18-Dec-2015
              SampleRate: NaN
                TimeStep: NaN

   Custom Properties (access using t.Properties.CustomProperties.<name>):
             Instruments: ["thermometer"    "anemometer"    "wind vane"]

Примеры

свернуть все

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

Создайте расписание из переменных рабочей области. Значения в MeasurementTime станьте временами строки расписания. Все другие входные параметры становятся переменными расписания. Когда вы используете этот синтаксис, имена вектора времен строки и переменные TT имена соответствующих входных параметров.

MeasurementTime = datetime({'2015-12-18 08:03:05';'2015-12-18 10:03:17';'2015-12-18 12:03:13'});
Temp = [37.3;39.1;42.3];
Pressure = [30.1;30.03;29.9];
WindSpeed = [13.4;6.5;7.3];
TT = timetable(MeasurementTime,Temp,Pressure,WindSpeed)
TT=3×3 timetable
      MeasurementTime       Temp    Pressure    WindSpeed
    ____________________    ____    ________    _________

    18-Dec-2015 08:03:05    37.3      30.1        13.4   
    18-Dec-2015 10:03:17    39.1     30.03         6.5   
    18-Dec-2015 12:03:13    42.3      29.9         7.3   

Синхронизируйте данные о погоде с постоянными временами с почасовым временным шагом. Настройте данные к новым временам с помощью линейной интерполяции.

TT2 = retime(TT,'hourly','linear')
TT2=6×3 timetable
      MeasurementTime        Temp     Pressure    WindSpeed
    ____________________    ______    ________    _________

    18-Dec-2015 08:00:00    37.254     30.102      13.577  
    18-Dec-2015 09:00:00    38.152     30.067      10.133  
    18-Dec-2015 10:00:00    39.051     30.032      6.6885  
    18-Dec-2015 11:00:00    40.613     29.969      6.8783  
    18-Dec-2015 12:00:00    42.214     29.903      7.2785  
    18-Dec-2015 13:00:00    43.815     29.838      7.6788  

Поскольку времена строки выхода не являются измеренными временами, переименовывают вектор времен строки. Этот вектор является также именем первой размерности расписания.

TT2.Properties.DimensionNames{1} = 'InterpolatedTimes'
TT2=6×3 timetable
     InterpolatedTimes       Temp     Pressure    WindSpeed
    ____________________    ______    ________    _________

    18-Dec-2015 08:00:00    37.254     30.102      13.577  
    18-Dec-2015 09:00:00    38.152     30.067      10.133  
    18-Dec-2015 10:00:00    39.051     30.032      6.6885  
    18-Dec-2015 11:00:00    40.613     29.969      6.8783  
    18-Dec-2015 12:00:00    42.214     29.903      7.2785  
    18-Dec-2015 13:00:00    43.815     29.838      7.6788  

Аннотируйте TT2 с описанием. Можно аннотировать TT2 и к его переменным с помощью метаданных получают доступ через TT2.Properties.

TT2.Properties.Description = 'Weather data, interpolated to regular hourly times';
TT2.Properties
ans = 
  TimetableProperties with properties:

             Description: 'Weather data, interpolated to regular hourly times'
                UserData: []
          DimensionNames: {'InterpolatedTimes'  'Variables'}
           VariableNames: {'Temp'  'Pressure'  'WindSpeed'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [6x1 datetime]
               StartTime: 18-Dec-2015 08:00:00
              SampleRate: 2.7778e-04
                TimeStep: 01:00:00
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

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

Загрузите расписание из MAT-файла outdoors. Отобразите первые три строки.

load outdoors
outdoors(1:3,:)
ans=3×3 timetable
           Time            Humidity    TemperatureF    PressureHg
    ___________________    ________    ____________    __________

    2015-11-15 00:00:24        49          51.3          29.61   
    2015-11-15 01:30:24      48.9          51.5          29.61   
    2015-11-15 03:00:24      48.9          51.5          29.61   

Доступ ко временам строки с помощью имени вектора времен строки. Это имя является также именем первой размерности расписания. outdoors хранит времена строки как вектор datetime. Отобразитесь первые три раза.

outdoors.Time(1:3)
ans = 3x1 datetime
   2015-11-15 00:00:24
   2015-11-15 01:30:24
   2015-11-15 03:00:24

Доступ к температурам как числовой вектор, с помощью его имени переменной.

outdoors.TemperatureF(1:3)
ans = 3×1

   51.3000
   51.5000
   51.5000

Доступ ко всем данным о расписании как матрица, с помощью синтаксиса outdoors.Variables. Этот синтаксис использует имя второго измерения расписания и эквивалентен доступу ко всему содержимому, использующему изогнутую индексацию фигурной скобки, outdoors{:,:}. Однако матрица не включает времена строки, потому что вектор времен строки является метаданными расписания, не переменной. Если данные о расписании не могут быть конкатенированы в матрицу, то сообщение об ошибке повышено.

outdoors.Variables
ans = 51×3

   49.0000   51.3000   29.6100
   48.9000   51.5000   29.6100
   48.9000   51.5000   29.6100
   48.8000   51.5000   29.6100
   48.7000   51.5000   29.6000
   48.8000   51.5000   29.6000
   49.0000   51.5000   29.6000
   49.1000   51.3000   29.6000
   49.1000   51.3000   29.6100
   49.1000   51.5000   29.6100
      ⋮

Переименуйте второе измерение outdoors. Если вы меняете имя, то можно использовать новое имя, чтобы получить доступ к данным.

outdoors.Properties.DimensionNames{2} = 'Data';
outdoors.Data
ans = 51×3

   49.0000   51.3000   29.6100
   48.9000   51.5000   29.6100
   48.9000   51.5000   29.6100
   48.8000   51.5000   29.6100
   48.7000   51.5000   29.6000
   48.8000   51.5000   29.6000
   49.0000   51.5000   29.6000
   49.1000   51.3000   29.6000
   49.1000   51.3000   29.6100
   49.1000   51.5000   29.6100
      ⋮

Создайте расписание с помощью 'RowTimes' аргумент пары "имя-значение". Обратите внимание на то, что имя вектора времен строки TT Time, не MeasurementTime. Когда вы используете этот синтаксис, именем вектора времен строки всегда является Time.

MeasurementTime = datetime({'2015-12-18 08:03:05';'2015-12-18 10:03:17';'2015-12-18 12:03:13'});
Temp = [37.3;39.1;42.3];
Pressure = [29.4;29.6;30.0];
Precip = [0.1;0.9;0.0];
StormDuration = [hours(1);hours(2);NaN];
TT = timetable(Temp,Pressure,Precip,StormDuration,'RowTimes',MeasurementTime)
TT=3×4 timetable
            Time            Temp    Pressure    Precip    StormDuration
    ____________________    ____    ________    ______    _____________

    18-Dec-2015 08:03:05    37.3      29.4       0.1           1 hr    
    18-Dec-2015 10:03:17    39.1      29.6       0.9           2 hr    
    18-Dec-2015 12:03:13    42.3        30         0         NaN hr    

Создайте расписание. Если существуют входные параметры, которые не являются переменными рабочей области, то timetable функционируйте присваивает имена по умолчанию к соответствующему вектору времен строки и переменным расписания. Например, если вы транспонируете некоторые входные параметры, чтобы сделать их вектор-столбцами, затем те входные параметры не являются переменными рабочей области. Именами по умолчанию является Time для вектора времен строки и VarN для Nпеременная расписания th.

T = hours(1:3);
Temp = [37.3;39.1;42.3];
P = [29.4 29.6 30];
TT = timetable(T',Temp,P')
TT=3×2 timetable
    Time    Temp    Var2
    ____    ____    ____

    1 hr    37.3    29.4
    2 hr    39.1    29.6
    3 hr    42.3      30

Создайте обычное расписание с помощью частоты дискретизации 100 Гц.

Intensity = [100;98.7;95.2;101.4;99.1];
TT = timetable(Intensity,'SampleRate',100)
TT=5×1 timetable
      Time      Intensity
    ________    _________

    0 sec           100  
    0.01 sec       98.7  
    0.02 sec       95.2  
    0.03 sec      101.4  
    0.04 sec       99.1  

Создайте расписание с 30 секундами как первый раз строки. Чтобы задать время начала, используйте 'StartTime' аргумент пары "имя-значение".

TT = timetable(Intensity,'SampleRate',100,'StartTime',seconds(30))
TT=5×1 timetable
      Time       Intensity
    _________    _________

    30 sec           100  
    30.01 sec       98.7  
    30.02 sec       95.2  
    30.03 sec      101.4  
    30.04 sec       99.1  

Создайте обычное расписание с помощью временного шага 0,01 секунд. Необходимо задать временной шаг как длительность или календарное значение длительности.

Intensity = [100;98.7;95.2;101.4;99.1];
TT = timetable(Intensity,'TimeStep',seconds(0.01))
TT=5×1 timetable
      Time      Intensity
    ________    _________

    0 sec           100  
    0.01 sec       98.7  
    0.02 sec       95.2  
    0.03 sec      101.4  
    0.04 sec       99.1  

Создайте расписание с 30 секундами как первый раз строки. Чтобы задать время начала, используйте 'StartTime' аргумент пары "имя-значение".

TT = timetable(Intensity,'TimeStep',seconds(0.01),'StartTime',seconds(30))
TT=5×1 timetable
      Time       Intensity
    _________    _________

    30 sec           100  
    30.01 sec       98.7  
    30.02 sec       95.2  
    30.03 sec      101.4  
    30.04 sec       99.1  

Предварительно выделите таблицу путем определения ее размера и типов данных переменных. timetable функционируйте заполняет переменные значениями по умолчанию, которые подходят для типов данных, которые вы задаете. Это также дает имена по умолчанию переменных.

T = [datetime('now') datetime(2017,11,1:3)];
sz = [4 3];
varTypes = {'double','double','string'};
TT = timetable('Size',sz,'VariableTypes',varTypes,'RowTimes',T)
TT=4×3 timetable
            Time            Var1    Var2      Var3   
    ____________________    ____    ____    _________

    29-Jan-2020 11:26:22     0       0      <missing>
    01-Nov-2017 00:00:00     0       0      <missing>
    02-Nov-2017 00:00:00     0       0      <missing>
    03-Nov-2017 00:00:00     0       0      <missing>

Чтобы задать имена для переменных, используйте 'VariableNames' аргумент пары "имя-значение".

varNames = {'Temperature','WindSpeed','Station'};
TT = timetable('Size',sz,'VariableTypes',varTypes,'RowTimes',T,'VariableNames',varNames)
TT=4×3 timetable
            Time            Temperature    WindSpeed     Station 
    ____________________    ___________    _________    _________

    29-Jan-2020 11:26:22         0             0        <missing>
    01-Nov-2017 00:00:00         0             0        <missing>
    02-Nov-2017 00:00:00         0             0        <missing>
    03-Nov-2017 00:00:00         0             0        <missing>

Добавьте строку данных к TT. Предварительное выделение может быть полезным методом, когда ваш код добавляет одну строку данных или несколько строк данных, за один раз. Вместо того, чтобы вырастить расписание каждый раз, когда вы добавляете строку, можно заполнить табличные переменные, которые уже имеют пространство для данных. Можно инкапсулировать строку значений данных в массиве ячеек и присвоить его строке расписания.

Индекс в строку к ее времени и присвоению строка значений данных. Вы также можете, преобразовывая в нижний индекс в строки и переменные номером. Однако индексирование в расписание ко времени является полезным методом.

TT(datetime(2017,11,2),:) = {48.2,13.33,"S1"}
TT=4×3 timetable
            Time            Temperature    WindSpeed     Station 
    ____________________    ___________    _________    _________

    29-Jan-2020 11:26:22          0              0      <missing>
    01-Nov-2017 00:00:00          0              0      <missing>
    02-Nov-2017 00:00:00       48.2          13.33      "S1"     
    03-Nov-2017 00:00:00          0              0      <missing>

Можно инкапсулировать строку значений данных в массиве ячеек. Когда вы присваиваете строку от массива ячеек, присвоение преобразует массив ячеек в строку расписания.

Задайте частоту дискретизации 1 000 Гц и предварительно выделите расписание. Также можно задать время начала.

sz = [4 3];
varTypes = {'uint64','double','duration'};
TT = timetable('Size',sz,'VariableTypes',varTypes,'SampleRate',1000,'StartTime',seconds(15))
TT=4×3 timetable
       Time       Var1    Var2      Var3  
    __________    ____    ____    ________

    15 sec         0       0      00:00:00
    15.001 sec     0       0      00:00:00
    15.002 sec     0       0      00:00:00
    15.003 sec     0       0      00:00:00

Индексируйте в третью строку, путем определения ее времени, и добавьте строку данных.

TT(seconds(15.002),:) = {50,1.37,minutes(76)}
TT=4×3 timetable
       Time       Var1    Var2      Var3  
    __________    ____    ____    ________

    15 sec          0        0    00:00:00
    15.001 sec      0        0    00:00:00
    15.002 sec     50     1.37    01:16:00
    15.003 sec      0        0    00:00:00

Задайте временной шаг и имена для переменных.

sz = [3 2];
varTypes = {'double','double'};
TT = timetable('Size',sz,'VariableTypes',varTypes,'TimeStep',seconds(0.1),'VariableNames',{'Intensity','Distance'})
TT=3×2 timetable
     Time      Intensity    Distance
    _______    _________    ________

    0 sec          0           0    
    0.1 sec        0           0    
    0.2 sec        0           0    

Индексируйте во вторую строку, путем определения ее времени, и добавьте строку данных.

TT(seconds(0.1),:) = {93.6,11.27}
TT=3×2 timetable
     Time      Intensity    Distance
    _______    _________    ________

    0 sec           0            0  
    0.1 sec      93.6        11.27  
    0.2 sec         0            0  

Создайте расписание и задайте имена переменных расписания. Вектор времен строки является вектором длительности, модули которого являются секундами.

Time = seconds(1:5)';
TT = timetable(Time,[98;97.5;97.9;98.1;97.9],[120;111;119;117;116],...
               'VariableNames',{'Reading1','Reading2'})
TT=5×2 timetable
    Time     Reading1    Reading2
    _____    ________    ________

    1 sec        98        120   
    2 sec      97.5        111   
    3 sec      97.9        119   
    4 sec      98.1        117   
    5 sec      97.9        116   

Запуск в R2019b, можно задать имена переменных расписания, которые не являются допустимыми идентификаторами MATLAB®. Такие имена переменных могут включать пробелы, символы non-ASCII, и могут иметь любой символ как начальный символ.

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

TT = timetable(Time,[98;97.5;97.9;98.1;97.9],[120;111;119;117;116],...
               'VariableNames',{'29-May-2019','30-May-2019'})
TT=5×2 timetable
    Time     29-May-2019    30-May-2019
    _____    ___________    ___________

    1 sec         98            120    
    2 sec       97.5            111    
    3 sec       97.9            119    
    4 sec       98.1            117    
    5 sec       97.9            116    

Чтобы использовать запись через точку, когда имя не будет допустимым идентификатором, включайте круглые скобки и кавычки.

TT.('29-May-2019')
ans = 5×1

   98.0000
   97.5000
   97.9000
   98.1000
   97.9000

Ограничения

  • Используйте одинарные кавычки в этих входных именах:

    • 'RowTimes'

    • 'SampleRate'

    • 'Size'

    • 'StartTime'

    • 'TimeStep'

    • 'VariableTypes'

    • 'VariableNames'

    Чтобы избежать беспорядка с вводами переменной, не используйте дважды заключенные в кавычки строковые скаляры (такие как "RowTimes") для этих имен.

Советы

  • Для списка функций, которые принимают или возвращают расписания, см. Расписания.

  • В определенных случаях можно вызвать timetable с синтаксисом, который задает шаг постоянного времени между временами строки и все же timetable возвращает неправильное расписание. Этот результат происходит, когда вы задаете временной шаг с помощью календарного модуля времени и существует время строки, которое вводит неправильный шаг. Например, если вы создаете расписание с временным шагом одного календарного месяца, начиная 31 января 2019, затем это неправильно относительно месяцев.

    stime = datetime(2019,1,31);
    tstep = calmonths(1);
    TT = timetable('Size',[3 1],'VariableTypes',{'double'},...
                   'TimeStep',tstep,'StartTime',stime)
    
    TT =
    
      3×1 timetable
    
           Time        Var1
        ___________    ____
    
        31-Jan-2019     0  
        28-Feb-2019     0  
        31-Mar-2019     0  
    

    Существуют другие случаи, где неисправности происходят из-за сдвигов с Летнего времени (DST) или ко временам строки, которые являются секундами прыжка. Эта таблица задает временные стоимости строки и временные шаги, которые могут неожиданно произвести неправильные расписания.

    Временная стоимость строки

    Временной шаг

    Время начала, заданное как 29-й, 30-й, или 31-й день месяца.

    Номер календарных месяцев или четвертей.

    Время начала, заданное как 29 февраля.

    Номер календарных лет.

    Любое 1:00 находящегося между времени строки и 2:00 в день, переключая с DST до стандартного времени (когда времена строки заданы как значения datetime, часовой пояс которых наблюдает DST).Номер календарных дней или месяцев.

    Любое время строки, которое является вторым прыжком (когда времена строки заданы как значения datetime, часовым поясом которых является UTCLeapSeconds timeZone . Для списка секунд прыжка смотрите leapseconds.

    Временной шаг задан в любом календарном модуле (дни, недели, месяцы, четверти, или годы).

Вопросы совместимости

развернуть все

Поведение изменяется в R2019b

Не рекомендуемый запуск в R2018b

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

Введенный в R2017b