Main Content

array2timetable

동종 배열(Homogeneous Array)을 타임테이블로 변환

설명

예제

TT = array2timetable(X,'RowTimes',rowTimes)XrowTimes를 타임테이블로 변환합니다. XM×N 배열이고 rowTimes는 datetime형 값이나 duration형 값으로 구성된 M×1 벡터입니다. X의 각 열은 TT의 변수가 됩니다. rowTimes의 시간 값이 타임테이블의 행 레이블로 지정됩니다. TTM×N 타임테이블입니다.

타임테이블을 만들고 사용하는 방법에 대한 자세한 내용은 타임테이블 항목을 참조하십시오.

예제

TT = array2timetable(X,'SampleRate',Fs)는 샘플 레이트 Fs를 사용하여 규칙적인 간격의 행 시간값을 계산합니다. Fs는 초당 샘플 수(Hz)를 지정하는 양의 숫자형 스칼라입니다. 첫 번째 행 시간값은 0초입니다.

예제

TT = array2timetable(X,'TimeStep',dt)는 시간 스텝 dt를 사용하여 규칙적인 간격의 행 시간값을 계산합니다. dt는 연속된 행 시간값 사이의 시간 길이를 지정하는 duration형 값 또는 calendarDuration형 값입니다. 첫 번째 행 시간값은 0초입니다.

예제

TT = array2timetable(___,'StartTime',t0)은 0초 대신 시작 시간 t0을 첫 번째 행 시간값으로 지정합니다. 위에 열거된 두 구문 중 하나에서 'SampleRate' 또는 'TimeStep' 이름-값 쌍의 인수를 사용하여 규칙적인 타임테이블을 만들 경우, 이 구문을 사용할 수 있습니다.

예제

T = array2timetable(X,Name,Value)는 하나 이상의 Name,Value 쌍 인수를 추가 옵션으로 지정하여 배열 X에서 타임테이블을 만들고자 할 때 사용합니다.

예를 들어, 타임테이블에 포함할 변수 이름을 지정할 수 있습니다.

예제

모두 축소

배열을 타임테이블로 변환합니다. duration형의 벡터를 행 시간값으로 추가합니다.

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에는 5개 행과 3개의 변수가 있습니다. 행 시간값의 집합은 테이블 속성입니다. 테이블 변수에는 행 시간값이 포함되어 있지 않습니다.

size(TT)
ans = 1×2

     5     3

샘플 레이트를 500Hz로 지정하고, 배열을 timetable형으로 변환합니다.

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초로 지정하고, 배열을 timetable형으로 변환합니다.

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는 초당 샘플 수(Hz)를 지정합니다.

시간 스텝으로, datetime형 스칼라 또는 duration형 스칼라로 지정됩니다.

데이터형: datetime | duration | calendarDuration

시작 시간으로, datetime형 스칼라 또는 duration형 스칼라로 지정됩니다.

  • t0이 datetime형 값인 경우, TT의 행 시간값은 datetime형 값입니다.

  • t0이 duration형인 경우, 행 시간값은 duration형입니다.

시간 스텝 dt가 calendarDuration형 값인 경우 t0은 datetime형 값이어야 합니다.

데이터형: datetime | duration

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: TT = array2timetable(X,'RowTimes',Time,'VariableNames',{'Latitude','Longitude'})Time으로 지정된 행 시간값을 사용하여 입력 배열 X에서 타임테이블을 생성하고 해당 타임테이블 변수의 이름을 LatitudeLongitude로 지정합니다.

T의 변수 이름으로, 'VariableNames'와 함께 비어 있지 않은 고유한 요소를 갖는 문자형 벡터로 구성된 셀형 배열 또는 string형 배열이 쉼표로 구분되어 지정됩니다. 이름 개수는 변수의 개수 size(A,2)와 같아야 합니다.

변수 이름에는 공백과 비ASCII 문자를 포함하여 모든 Unicode® 문자를 사용할 수 있습니다.

R2021a 이상

차원 이름으로, 문자형 벡터 요소를 2개 가진 셀형 배열 또는 비어 있지 않고 고유한 요소를 2개 가진 string형 배열로 지정됩니다.

차원 이름에는 공백 및 비ASCII 문자를 포함하여 모든 Unicode 문자를 사용할 수 있습니다.

R2021a 이전 릴리스에서는 차원 이름을 지정하려면 출력값의 DimensionNames 속성을 설정하는 방법밖에 없었습니다.

출력 인수

모두 축소

출력 타임테이블입니다. 이 타임테이블에는 설명, 변수 단위, 변수 이름, 행 시간값과 같은 메타데이터가 저장될 수 있습니다. 자세한 내용은 timetable 속성 섹션을 참조하십시오.

  • 행 시간값 사이의 규칙적인 시간 스텝을 지정하는 구문을 사용하여 array2timetable 함수를 호출했는데도 array2timetable 함수가 불규칙적인 타임테이블을 반환하는 경우가 있습니다. 이러한 결과는 달력 시간 단위를 사용하여 시간 스텝을 지정할 때 불규칙적인 스텝을 발생시키는 행 시간값이 포함되어 있는 경우에 발생합니다. 예를 들어, 2019년 1월 31일부터 시작하여 달력상의 월수 1개의 시간 스텝으로 타임테이블을 만든 경우 이 타임테이블은 월에 대해 불규칙적입니다.

    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일로 지정된 시작 시간.

    달력상의 월수 또는 사분기수.

    2월 29일로 지정된 시작 시간.

    달력상의 연수.

    DST에서 표준 시간으로 전환되는 날 오전 1시와 오전 2시 사이의 모든 datetime형 값(이러한 값이 DST가 적용되는 표준 시간대를 갖는 경우).달력상의 일수 또는 월수.

    윤초인 모든 datetime형 값(이러한 값의 표준 시간대가 UTCLeapSeconds 표준 시간대인 경우). 윤초 목록은 leapseconds를 참조하십시오.

    임의의 달력 단위(일수, 주수, 월수, 사분기수 또는 연수)로 지정된 시간 스텝.

확장 기능

스레드 기반 환경
MATLAB®의 backgroundPool을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool을 사용해 코드 실행 속도를 높일 수 있습니다.

버전 내역

R2016b에 개발됨

모두 확장