array2timetable

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

Описание

пример

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

Для получения дополнительной информации о создании и использовании расписаний, см. Расписания.

пример

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. Задайте имена для переменных расписания.

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

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

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

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

Начиная с R2021a

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

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

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

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

свернуть все

Выведите расписание. Расписание может сохранить метаданные, такие как описания, переменные модули, имена переменных, и времена строки. Для получения дополнительной информации смотрите раздел Properties 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) или к datetime значения, которые являются секундами прыжка. Эта таблица задает даты, времена и временные шаги, которые могут неожиданно привести к неправильным результатам.

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

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

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

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

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

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

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

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

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

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

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

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

Предупреждает запуск в R2021a

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

Введенный в R2017b