array2timetable

Преобразуйте однородный массив в timetable

Описание

пример

TT = array2timetable(X,'RowTimes',rowTimes) преобразует X и rowTimes в расписание. X является M-by- N массив и rowTimes является M-by- 1 вектор значений datetime или duration. Каждый столбец X становится переменной TT. Значения времени в rowTimes пометьте строки расписания. TT является M-by- N timetable.

Дополнительные сведения о создании и использовании расписаний см. в разделе Расписания.

пример

TT = array2timetable(X,'SampleRate',Fs) использует частоту дискретизации Fs для вычисления регулярно разнесенных значений времени по строкам. Fs является положительным числовым скаляром, который задает количество выборок в секунду (Гц). Время первой строки равняется нулю секунд.

пример

TT = array2timetable(X,'TimeStep',dt) использует временной шаг dt для вычисления регулярно разнесенных значений времени по строкам. dt - длительность или значение календарной длительности, задающее промежуток времени между последовательными временами строк. Время первой строки равняется нулю секунд.

пример

TT = array2timetable(___,'StartTime',t0) задает время запуска t0, вместо нуля секунд, как время первой строки. Можно использовать этот синтаксис, когда вы создаете регулярное расписание с помощью 'SampleRate' или 'TimeStep' аргументы пары "имя-значение" из любого из двух предыдущих синтаксисов.

пример

T = array2timetable(X,Name,Value) создает расписание из массива, X, с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар.

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

Примеры

свернуть все

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

X = rand(5,3);
Time = seconds(1:5);
TT = array2timetable(X,'RowTimes',Time)
TT=5×3 timetable
    Time       X1         X2         X3   
    _____    _______    _______    _______

    1 sec    0.81472    0.09754    0.15761
    2 sec    0.90579     0.2785    0.97059
    3 sec    0.12699    0.54688    0.95717
    4 sec    0.91338    0.95751    0.48538
    5 sec    0.63236    0.96489    0.80028

Возвращает размер расписания. TT содержит пять строк и три переменные. Набор значений времени строки является свойством таблицы. Значение времени строки не содержится в табличной переменной.

size(TT)
ans = 1×2

     5     3

Задайте частоту дискретизации 500 Гц и преобразуйте массив в расписание.

X = rand(5,3);
TT = array2timetable(X,'SampleRate',500)
TT=5×3 timetable
      Time         X1         X2         X3   
    _________    _______    _______    _______

    0 sec        0.81472    0.09754    0.15761
    0.002 sec    0.90579     0.2785    0.97059
    0.004 sec    0.12699    0.54688    0.95717
    0.006 sec    0.91338    0.95751    0.48538
    0.008 sec    0.63236    0.96489    0.80028

Задайте временной шаг 0,5 секунды и преобразуйте массив в расписание.

X = rand(5,3);
TT = array2timetable(X,'TimeStep',seconds(0.5))
TT=5×3 timetable
     Time        X1         X2         X3   
    _______    _______    _______    _______

    0 sec      0.81472    0.09754    0.15761
    0.5 sec    0.90579     0.2785    0.97059
    1 sec      0.12699    0.54688    0.95717
    1.5 sec    0.91338    0.95751    0.48538
    2 sec      0.63236    0.96489    0.80028

Задайте временной шаг 15 секунд и начальное время 5 минут.

X = rand(5,3);
TT = array2timetable(X,'TimeStep',seconds(15),'StartTime',minutes(5))
TT=5×3 timetable
      Time        X1         X2         X3   
    ________    _______    _______    _______

    5 min       0.81472    0.09754    0.15761
    5.25 min    0.90579     0.2785    0.97059
    5.5 min     0.12699    0.54688    0.95717
    5.75 min    0.91338    0.95751    0.48538
    6 min       0.63236    0.96489    0.80028

Преобразуйте массив в расписание. Задайте время строки в виде вектора datetime. Задайте имена для переменных timetable.

X = randi([70 90],5,3);
Time = datetime(2016,7,1:5);
varNames = {'Temp1','Temp2','Temp3'};
TT = array2timetable(X,'RowTimes',Time,'VariableNames',varNames)
TT=5×3 timetable
       Time        Temp1    Temp2    Temp3
    ___________    _____    _____    _____

    01-Jul-2016     87       72       73  
    02-Jul-2016     89       75       90  
    03-Jul-2016     72       81       90  
    04-Jul-2016     89       90       80  
    05-Jul-2016     83       90       86  

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

свернуть все

Входная матрица.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | categorical | datetime | duration | calendarDuration
Поддержка комплексного числа: Да

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

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

Временной шаг, заданный как скаляр datetime или скаляр длительности.

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

Время запуска, заданное как скаляр datetime или скаляр длительности.

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

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

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

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

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

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

Пример: TT = array2timetable(X,'RowTimes',Time,'VariableNames',{'Latitude','Longitude'}) создает расписание из входного массива X, с временами строк, заданными Time, и называет соответствующие переменные расписания Latitude и Longitude.

Имена переменных для T, заданная как разделенная разделенными запятой парами, состоящая из 'VariableNames' и массив ячеек из векторов символов или строковых массивов, элементы которого непусты и различимы. Количество имен должно равняться количеству переменных, size(A,2).

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

Начиная с R2021a

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

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

Перед R2021a можно задать имена размерностей только путем установки DimensionNames свойство выхода.

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

свернуть все

Выходное расписание. В расписании могут храниться такие метаданные, как описания, переменные модули, имена переменных и время ввода строк. Для получения дополнительной информации смотрите раздел « Свойства» timetable.

Совет

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

    stime = datetime(2019,1,31);
    tstep = calmonths(1);
    X = [1:3]';
    TT = array2timetable(X,'TimeStep',tstep,'StartTime',stime)
    
    TT =
    
      3×1 timetable
    
           Time        X
        ___________    _
    
        31-Jan-2019    1
        28-Feb-2019    2
        31-Mar-2019    3
    

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

    Значение времени строки

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

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

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

    Время запуска указано как 29 февраля.

    Количество календарных лет.

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

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

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

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

расширить все

Поведение изменено в R2019b

Предупреждает, начиная с R2021a

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

.
Введенный в R2016b