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' аргументы пары "имя-значение" от любого из предыдущих двух синтаксисов.

пример

TT = array2timetable(___,'VariableNames',varNames) задает имена переменных в выходном расписании. Можно использовать этот синтаксис с любым из входных параметров предыдущих синтаксисов.

Примеры

свернуть все

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

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Введенный в R2017b