exponenta event banner

array2timetable

Преобразование однородного массива в расписание

Описание

пример

TT = array2timetable(X,'RowTimes',rowTimes) новообращенные X и rowTimes к расписанию. X является Mоколо-N массив и rowTimes является Mоколо-1 вектор значений datetime или duration. Каждый столбец 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 или вектор duration. Каждый раз помечает строку в расписании вывода. Значения времени в 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 утра в день, переходящий с летнего времени на стандартное время (когда время строки указано как datetime значения, в часовом поясе которых соблюдается переход на летнее и зимнее время).Количество календарных дней или месяцев.

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

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

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

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

В R2019b изменилось поведение

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

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

.
Представлен в R2016b