Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

timetable

타임스탬프가 지정된 서로 다른 유형의 행과 변수를 포함하는 시계열 데이터 테이블

설명

timetable은 시계열 데이터와 함께 사용할 수 있도록 각 행에 시간값을 연결하는 테이블의 한 유형입니다. 테이블과 마찬가지로 타임테이블은 행 개수가 같은 경우에 한해 서로 다른 데이터형과 크기를 가질 수 있는 열 방향 데이터 변수를 저장합니다. 또한 타임테이블은 하나 이상의 타임테이블에서 타임스탬프가 지정된 데이터를 정렬하고, 결합하고, 이 데이터를 사용하여 계산을 수행할 수 있는 시간 관련 함수를 제공합니다.

타임테이블의 행 시간값은 행에 레이블을 지정하는 datetime형 값 또는 duration형 값입니다. 행 시간값과 변수로 타임테이블의 요소를 참조할 수 있습니다. 타임테이블의 요소를 참조하려면 소괄호 ()를 사용하여 하위 테이블을 반환하거나 중괄호 {}를 사용하여 내용을 추출하십시오. 이름을 사용하여 행 시간값으로 구성된 벡터와 변수를 참조할 수 있습니다. 인덱싱에 대한 자세한 내용은 타임테이블에서 시간값 선택하기 항목과 테이블의 데이터에 액세스하기 항목을 참조하십시오.

타임테이블에서 이벤트를 찾아 레이블을 지정하려면 타임테이블에 이벤트 테이블을 연결하십시오. 이벤트 테이블에는 이벤트 레이블 및 이벤트에 대한 기타 정보와 함께 이벤트가 발생하는 시간이 나열됩니다. 자세한 내용은 eventtable 항목을 참조하십시오. (R2023a 이후)

생성

타임테이블을 만들려면 readtimetable 함수를 사용하여 파일의 데이터를 테이블로 읽어 들이거나 다른 데이터형을 가진 변수를 변환할 수 있습니다.

변환하려면 다음과 같이 하십시오.

Simulink® 사용자는 extractTimetable (Simulink) 함수를 사용하여 Simulink.SimulationData.Dataset 객체에서 데이터를 추출할 수 있습니다.

아래에 설명된 대로 timetable 함수를 사용할 수도 있습니다. 입력 배열에서 타임테이블을 생성하거나, 나중에 값을 채울 수 있도록 변수에 공간을 사전할당합니다. 행 시간을 지정하려면 행 시간값으로 구성된 입력 벡터를 사용하거나 샘플 레이트 또는 시간 스텝을 사용하여 행 시간을 생성할 수 있습니다.

설명

기존 변수 결합

TT = timetable(rowTimes,var1,...,varN)은 입력 데이터 변수 var1,...,varN과 시간 벡터 rowTimes에서 타임테이블을 생성합니다. 데이터 변수는 행 개수가 동일한 경우에 한해 크기와 데이터형이 다를 수 있습니다. rowTimes도 행 개수가 동일한 datetime형 벡터 또는 duration형 벡터여야 합니다.

예제

TT = timetable(var1,...,varN,'RowTimes',rowTimes)rowTimesTT의 행 시간값 소스로 지정합니다. 이 구문을 사용하면 rowTimes가 이름이 다른 작업 공간 변수인 경우에도 TT의 행 시간값 벡터 이름은 항상 Time입니다.

예제

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

예제

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

예제

공백 사전할당

TT = timetable('Size',sz,'VariableTypes',varTypes,'RowTimes',rowTimes)는 타임테이블을 만들고 지정하는 데이터형의 변수에 공백을 사전할당합니다. sz는 요소를 2개 가진 숫자형 배열이며, 여기서 sz(1)은 행 개수를 지정하고, sz(2)는 변수 개수를 지정합니다. varTypes는 변수의 데이터형을 지정합니다. rowTimes의 시간값 개수는 sz(1)과 같아야 합니다.

예제

TT = timetable('Size',sz,'VariableTypes',varTypes,'SampleRate',Fs)는 지정된 데이터형의 변수를 사전할당하고 샘플 레이트 Fs를 사용하여 행 시간값을 추가합니다. 첫 번째 행 시간값은 0초입니다.

예제

TT = timetable('Size',sz,'VariableTypes',varTypes,'TimeStep',dt)는 지정된 데이터형의 변수를 사전할당하고 시간 스텝 dt를 사용하여 행 시간값을 추가합니다. 첫 번째 행 시간값은 0초입니다.

예제

이름 또는 시작 시간 설정

TT = timetable(___,Name,Value)는 하나 이상의 이름-값 쌍의 인수를 사용하여 입력 인수를 추가로 지정합니다. 예를 들어, 'VariableNames' 이름-값 쌍을 사용하여 변수 이름을 지정할 수 있습니다. 'StartTime' 이름-값 쌍을 샘플 레이트 또는 시간 스텝과 함께 사용하여 시작 시간을 지정할 수도 있습니다. 이 구문은 위에 열거된 구문 중 하나의 입력 인수에 사용할 수 있습니다.

예제

입력 인수

모두 확장

입력 변수로, 행 개수가 같은 배열로 지정됩니다. 입력 변수는 행 개수가 동일한 경우에 한해 크기와 데이터형이 다를 수 있습니다.

일반적인 입력 변수는 숫자형 배열, 논리형 배열, string형 배열, 구조체형 배열, 셀형 배열입니다.

입력 변수는 배열인 객체일 수도 있습니다. 이러한 배열은 var(index1,...,indexN) 형식의 인덱싱을 지원해야 합니다. 여기서 index1은 변수 var의 행에 대응하는 숫자형 벡터 또는 논리형 벡터입니다. 또한, 이 배열은 dim 인수와 함께 vertcat 메서드와 size 메서드를 모두 구현해야 합니다.

타임테이블의 행과 연관된 시간값으로, datetime형 벡터 또는 duration형 벡터로 지정됩니다. 각 시간값은 출력 타임테이블 TT의 행에 레이블을 지정합니다. rowTimes의 시간값은 고유하거나 정렬되거나 규칙적이지 않아도 됩니다.

사전할당된 타임테이블의 크기로, 요소를 2개 가진 숫자형 벡터로 지정됩니다. sz의 첫 번째 요소는 행 개수를 지정하고, 두 번째 요소는 타임테이블 변수 개수를 지정합니다.

사전할당된 변수의 데이터형으로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. varTypes로 지정된 데이터형 개수는 sz의 두 번째 요소로 지정된 변수 개수와 같아야 합니다.

varTypes에는 다음 표에 표시된 이름을 비롯해 모든 데이터형의 이름이 포함될 수 있습니다.

데이터형 이름

각 요소의 초기값

'double', 'single'

배정밀도 또는 단정밀도 0

'doublenan', 'doubleNaN', 'singlenan', 'singleNaN'

배정밀도 또는 단정밀도 NaN

'int8', 'int16', 'int32', 'int64'

부호 있는 8비트, 16비트, 32비트 또는 64비트 정수 0

'uint8', 'uint16', 'uint32', 'uint64'

부호 없는 8비트, 16비트, 32비트 또는 64비트 정수 0

'logical'

0 (false)

'categorical'

<undefined> categorical형 값

'datetime'

NaT datetime

'duration'

0초, duration형 값

'calendarDuration'

0일, calendarDuration형 값

'string'

<missing>(누락값인 string형)

'cellstr'

{''}(0×0 문자형 배열을 갖는 셀)

'cell'

{[]}(0×0 double형 배열을 갖는 셀)

'struct'

필드 없는 스칼라 구조체

'table'

변수 없는 테이블

'timetable'

변수는 없고 행 시간값은 NaT인 타임테이블

그 밖의 다른 데이터형의 경우, 초기값은 해당 데이터형 또는 클래스가 배열의 할당되지 않은 요소를 "채우는" 데 사용하는 값이 됩니다.

'char'을 데이터형으로 지정하면 timetable 함수는 해당 변수를 문자형 배열이 아니라 문자형 벡터로 구성된 셀형 배열로 사전할당합니다. 따라서 문자형 배열인 테이블 또는 타임테이블 변수는 생성하지 않는 것이 가장 좋습니다. 테이블이나 타임테이블에서 텍스트 데이터를 사용하는 경우 string형 배열이나 categorical형 배열을 사용해 보십시오.

샘플 레이트로, 양의 숫자형 스칼라로 지정됩니다. Fs는 초당 샘플 수(Hz)를 지정합니다.

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

dtcalendarDuration형 값으로 지정하고 'StartTime' 이름-값 쌍의 인수를 지정하는 경우 'StartTime' 값은 datetime형 스칼라여야 합니다.

이름-값 인수

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

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

예: TT = timetable(rowTimes,T,W,'VariableNames',{'Temperature','WindSpeed'})는 입력 배열 TW에서 타임테이블을 생성하고 해당 타임테이블 변수의 이름을 TemperatureWindSpeed로 지정합니다.

변수 이름으로, 비어 있지 않은 고유한 요소를 갖는 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다.

  • 배열의 이름 개수는 타임테이블 변수의 개수와 같아야 합니다.

  • timetable 함수는 또한 타임테이블의 VariableNames 속성에 변수 이름을 저장합니다.

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

R2021a 이후

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

  • timetable 함수는 또한 타임테이블의 DimensionNames 속성에 차원 이름도 저장합니다.

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

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

시작 시간으로, datetime형 스칼라 또는 duration형 스칼라로 지정됩니다. 또한 시작 시간은 타임테이블에 있는 첫 번째 행의 행 시간값입니다.

'SampleRate' 또는 'TimeStep' 이름-값 쌍의 인수도 지정해야만 'StartTime'을 지정할 수 있습니다.

  • 시작 시간이 datetime형 값이면 TT의 행 시간값은 datetime형 값입니다.

  • 시작 시간이 duration형이면 행 시간값은 duration형입니다.

  • 시간 스텝 dtcalendarDuration형 값이면 시작 시간은 datetime형 값이어야 합니다.

속성

모두 확장

타임테이블 메타데이터 속성에 액세스하기

타임테이블에는 타임테이블, 타임테이블 행 시간값 및 타임테이블 변수를 설명하는 메타데이터 속성이 포함됩니다. 구문 timetableName.Properties.PropertyName을 사용하여 이러한 속성에 액세스합니다. 여기서 PropertyName은 속성 이름입니다. 예를 들어, TT.Properties.VariableNames 속성을 통해 타임테이블 TT의 변수 이름에 액세스할 수 있습니다.

구문 timetableName.Properties를 사용하여 메타데이터 속성의 요약을 반환할 수 있습니다.

점 구문을 사용하여 직접 타임테이블 데이터에 액세스할 수 있기 때문에 타임테이블에서는 Properties 속성을 통해 메타데이터에 액세스할 수 있습니다. 예를 들어, 타임테이블 TTVar1이라는 변수가 있으면 구문 TT.Var1을 사용하여 이 변수의 값에 액세스할 수 있습니다.

타임테이블 메타데이터

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

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

  • string형 배열을 사용하여 이 속성을 지정하면 이 속성은 문자형 벡터로 구성된 셀형 배열로 변환되어 저장됩니다.

2개의 차원 이름을 사용하여 타임테이블 데이터에 액세스할 수 있습니다.

  • 점 구문과 첫 번째 차원 이름을 사용하면 행 시간값을 벡터로서 액세스할 수 있습니다.

  • 점 구문과 두 번째 차원 이름을 사용하면 {:,:} 구문을 사용하여 타임테이블의 요소를 참조한 것처럼 모든 변수의 데이터가 하나의 배열로 결합됩니다.

예제

타임테이블을 생성하고 타임테이블 차원 이름을 표시합니다. 차원 이름을 점 구문과 함께 사용하여 행 시간값과 데이터에 액세스할 수 있습니다.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]);
TT.Properties.DimensionNames
ans = 1x2 cell
    {'Time'}    {'Variables'}

첫 번째 차원 이름을 사용하여 행 시간값에 액세스합니다.

TT.Time
ans = 3x1 datetime
   18-Dec-2015
   19-Dec-2015
   20-Dec-2015

두 번째 차원 이름을 사용하여 데이터에 액세스합니다. 이 구문은 TT{:,:,}와 동일합니다.

TT.Variables
ans = 3×3

   37.3000   30.1000   13.4000
   39.1000   30.0300    6.5000
   42.3000   29.9000    7.3000

Properties.DimensionNames 속성을 사용하여 테이블의 차원 이름을 수정합니다. 차원 이름을 수정하면 구문 TT.DateTT.WeatherData를 사용하여 각각 행 시간값과 데이터에 액세스할 수 있습니다.

TT.Properties.DimensionNames = {'Date','WeatherData'};
TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Date'  'WeatherData'}
           VariableNames: {'Var1'  'Var2'  'Var3'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [3x1 datetime]
               StartTime: 18-Dec-2015
              SampleRate: NaN
                TimeStep: 1d
                  Events: []
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

타임테이블 설명으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 이 설명은 summary 함수를 사용할 때 확인할 수 있습니다.

string형 스칼라를 사용하여 이 속성을 지정하면 이 속성은 문자형 벡터로 변환되어 저장됩니다.

예제

타임테이블을 생성합니다. 변수 이름과 타임테이블 설명을 수정합니다. 결과의 요약을 표시합니다.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]);
TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'};
TT.Properties.Description = 'Weather Data from December 2015';
summary(TT)
Description:  Weather Data from December 2015

RowTimes:

    Time: 3x1 datetime
        Values:
            Min           18-Dec-2015 
            Median        19-Dec-2015 
            Max           20-Dec-2015 
            TimeStep      24:00:00    

Variables:

    Temp: 3x1 double

        Values:

            Min         37.3  
            Median      39.1  
            Max         42.3  

    Pressure: 3x1 double

        Values:

            Min         29.9  
            Median     30.03  
            Max         30.1  

    WindSpeed: 3x1 double

        Values:

            Min          6.5  
            Median       7.3  
            Max         13.4  

추가 타임테이블 정보로, 배열로 지정됩니다. 이 속성을 사용하면 타임테이블에 어떠한 유형의 데이터도 추가할 수 있습니다.

예제

타임테이블을 생성합니다. 변수 이름을 수정합니다. 익명 함수를 타임테이블과 연관된 사용자 데이터로서 추가합니다.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]);
TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'};
Fahrenheit2Celsius = @(x) (5.0/9.0).*(x - 32);
TT.Properties.UserData = Fahrenheit2Celsius;
TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: @(x)(5.0/9.0).*(x-32)
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'Temp'  'Pressure'  'WindSpeed'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [3x1 datetime]
               StartTime: 18-Dec-2015
              SampleRate: NaN
                TimeStep: 1d
                  Events: []
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

행 시간값 메타데이터

행 시간값으로, datetime형 벡터 또는 duration형 벡터로 지정됩니다.

  • 타임테이블의 각 행에 대응하는 행 시간값이 있어야 합니다.

  • 타임테이블에는 중복되거나 정렬되지 않았거나 NaT 값 또는 NaN 값을 갖는 행 시간값이 있을 수 있습니다.

  • 행 시간값은 타임테이블을 볼 때 확인할 수 있습니다. 또한, 소괄호 또는 중괄호 안에 행 시간값을 사용하여 타임테이블 데이터에 액세스할 수도 있습니다.

  • 행 시간값에 액세스할 수 있는 또 다른 방법은 점 구문과 타임테이블의 첫 번째 차원 이름을 사용하는 것입니다.

예제

타임테이블을 생성합니다. 그런 다음, Properties.RowTimes 속성을 사용하여 타임테이블의 행 시간값을 바꿉니다.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3])
TT=3×3 timetable
       Time        Var1    Var2     Var3
    ___________    ____    _____    ____

    18-Dec-2015    37.3     30.1    13.4
    19-Dec-2015    39.1    30.03     6.5
    20-Dec-2015    42.3     29.9     7.3

Dates = datetime(2017,1,1:3);
TT.Properties.RowTimes = Dates
TT=3×3 timetable
       Time        Var1    Var2     Var3
    ___________    ____    _____    ____

    01-Jan-2017    37.3     30.1    13.4
    02-Jan-2017    39.1    30.03     6.5
    03-Jan-2017    42.3     29.9     7.3

행 시간값에 액세스할 수 있는 또 다른 방법은 점 구문을 타임테이블의 첫 번째 차원 이름과 함께 사용하는 것입니다.

TT.Properties.DimensionNames
ans = 1x2 cell
    {'Time'}    {'Variables'}

TT.Time
ans = 3x1 datetime
   01-Jan-2017
   02-Jan-2017
   03-Jan-2017

행 시간값의 시작 시간으로, datetime형 스칼라 또는 duration형 스칼라로 지정됩니다. 시작 시간은 타임테이블에 있는 첫 번째 행의 행 시간값과 같고 데이터형도 동일합니다.

  • 시작 시간이 datetime형 값이면 TT의 행 시간값은 datetime형 값입니다.

  • 시작 시간이 duration형이면 행 시간값은 duration형입니다.

  • 시간 스텝이 calendarDuration형 값이면 시작 시간은 datetime형 값이어야 합니다.

타임테이블이 비어 있으면 시작 시간은 NaN입니다.

예제

타임테이블을 생성합니다. 이 타임테이블에서 연속된 행 사이의 시간 스텝이 같지 않으므로 이 타임테이블은 불규칙적입니다.

TT = timetable(datetime({'2015-12-18';'2015-12-20';'2015-12-21'}), ...
               [37.3;39.1;42.3],[13.4;6.5;7.3],{'N';'SE';'NW'});
TT.Properties.VariableNames = {'Temperature','WindSpeed','WindDirection'}
TT=3×3 timetable
       Time        Temperature    WindSpeed    WindDirection
    ___________    ___________    _________    _____________

    18-Dec-2015       37.3          13.4          {'N' }    
    20-Dec-2015       39.1           6.5          {'SE'}    
    21-Dec-2015       42.3           7.3          {'NW'}    

해당 속성을 표시합니다. StartTime 속성의 값은 첫 번째 행 시간값과 같습니다. 타임테이블은 규칙적이든 불규칙적이든, 비어 있지 않은 한 항상 시작 시간을 가집니다.

TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'Temperature'  'WindSpeed'  'WindDirection'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [3x1 datetime]
               StartTime: 18-Dec-2015
              SampleRate: NaN
                TimeStep: NaN
                  Events: []
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

StartTime 속성을 수정합니다. 모든 행 시간값이 새 값을 갖는 것을 볼 수 있습니다. 각 행 시간값은 첫 번째 행 시간값의 원래 값과 새 시작 시간의 차이만큼 변동됩니다.

TT.Properties.StartTime = datetime('2018-04-09')
TT=3×3 timetable
       Time        Temperature    WindSpeed    WindDirection
    ___________    ___________    _________    _____________

    09-Apr-2018       37.3          13.4          {'N' }    
    11-Apr-2018       39.1           6.5          {'SE'}    
    12-Apr-2018       42.3           7.3          {'NW'}    

샘플 레이트로, 양의 숫자형 스칼라로 지정됩니다. 샘플 레이트는 초당 샘플 수(Hz)입니다.

행 시간값이 규칙적이지 않거나 타임테이블이 비어 있으면 샘플 레이트는 NaN입니다.

예제

규칙적인 타임테이블을 생성합니다. 이 타임테이블에서 행 시간값은 동일한 샘플 레이트를 사용하여 만든 duration형입니다.

Intensity = [100;98.7;95.2;101.4;99.1];
TT = timetable(Intensity,'SampleRate',100)
TT=5×1 timetable
      Time      Intensity
    ________    _________

    0 sec           100  
    0.01 sec       98.7  
    0.02 sec       95.2  
    0.03 sec      101.4  
    0.04 sec       99.1  

해당 속성을 표시합니다. SampleRate 속성은 샘플 레이트(단위: Hz)를 저장합니다.

TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'Intensity'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [5x1 duration]
               StartTime: 0 sec
              SampleRate: 100
                TimeStep: 0.01 sec
                  Events: []
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

SampleRate 속성을 수정합니다. 시작 시간은 같지만 샘플 레이트가 작아졌기 때문에 다른 모든 행 시간값이 달라집니다. 그러나 변수 Intensity는 동일하게 유지됩니다.

TT.Properties.SampleRate = 25
TT=5×1 timetable
      Time      Intensity
    ________    _________

    0 sec           100  
    0.04 sec       98.7  
    0.08 sec       95.2  
    0.12 sec      101.4  
    0.16 sec       99.1  

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

  • 시간 스텝을 calendarDuration형 값(예: 달력상의 월수)으로 지정하면 행 시간값으로 구성된 벡터는 datetime형 벡터여야 합니다.

  • 시간 스텝을 duration형 값(예: 초)으로 지정하면 행 시간값으로 구성된 벡터는 datetime형 벡터 또는 duration형 벡터일 수 있습니다.

행 시간값이 규칙적이지 않거나 타임테이블이 비어 있으면 시간 스텝은 NaN입니다.

예제

규칙적인 타임테이블을 생성합니다. 이 타임테이블에서 행 시간값은 동일한 시간 스텝을 사용하여 만든 duration형입니다.

Intensity = [100;98.7;95.2;101.4;99.1];
TT = timetable(Intensity,'TimeStep',seconds(0.01))
TT=5×1 timetable
      Time      Intensity
    ________    _________

    0 sec           100  
    0.01 sec       98.7  
    0.02 sec       95.2  
    0.03 sec      101.4  
    0.04 sec       99.1  

해당 속성을 표시합니다. TimeStep 속성에는 시간 스텝이 duration형으로 들어 있습니다.

TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'Intensity'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [5x1 duration]
               StartTime: 0 sec
              SampleRate: 100
                TimeStep: 0.01 sec
                  Events: []
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

TimeStep 속성을 수정합니다. 시작 시간은 같지만 시간 스텝이 커졌기 때문에 다른 모든 행 시간값이 달라집니다. 그러나 변수 Intensity는 동일하게 유지됩니다.

TT.Properties.TimeStep = seconds(0.04)
TT=5×1 timetable
      Time      Intensity
    ________    _________

    0 sec           100  
    0.04 sec       98.7  
    0.08 sec       95.2  
    0.12 sec      101.4  
    0.16 sec       99.1  

R2023a 이후

이벤트로, 이벤트 테이블, datetime형 벡터 또는 duration형 벡터로 지정됩니다. 이벤트 테이블에는 이벤트가 발생하는 시간, 이벤트를 설명하는 레이블 및 경우에 따라 이벤트에 대한 기타 정보가 나열됩니다. 이벤트 중에 발생하는 타임테이블 행을 찾아 레이블을 지정하려면 Events 속성에 할당하여 이벤트를 타임테이블에 연결하십시오.

datetime형 벡터 또는 duration형 벡터를 할당하면 이러한 벡터가 디폴트 레이블이 있는 이벤트 테이블로 변환되고 이 이벤트 테이블이 Events 속성에 할당됩니다.

타임테이블의 행 시간값 및 이벤트와 연결된 이벤트 시간값은 동일한 데이터형을 가져야 합니다. 예를 들어, duration형 벡터 또는 이벤트 시간값이 duration형 값인 이벤트 테이블은 행 시간값이 datetime형 값인 타임테이블에 연결할 수 없습니다.

이벤트 테이블에 대한 자세한 내용은 eventtable 항목을 참조하십시오.

변수 메타데이터

변수 이름으로, 비어 있지 않은 고유한 요소를 갖는 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 이름 개수는 변수의 개수와 같아야 합니다.

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

  • 변수 이름은 타임테이블을 볼 때, 그리고 summary 함수를 사용할 때 확인할 수 있습니다. 또한, 소괄호 또는 중괄호 안에 변수 이름을 사용하거나 점 인덱싱과 함께 변수 이름을 사용하여 테이블 데이터에 액세스할 수도 있습니다.

  • string형 배열을 사용하여 이 속성을 지정하면 이 속성은 문자형 벡터로 구성된 셀형 배열로 변환되어 저장됩니다.

예제

디폴트 변수 이름을 가진 타임테이블을 만듭니다. 그런 다음, Properties.VariableNames 속성을 사용하여 이름을 수정합니다.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3])
TT=3×3 timetable
       Time        Var1    Var2     Var3
    ___________    ____    _____    ____

    18-Dec-2015    37.3     30.1    13.4
    19-Dec-2015    39.1    30.03     6.5
    20-Dec-2015    42.3     29.9     7.3

TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'}
TT=3×3 timetable
       Time        Temp    Pressure    WindSpeed
    ___________    ____    ________    _________

    18-Dec-2015    37.3      30.1        13.4   
    19-Dec-2015    39.1     30.03         6.5   
    20-Dec-2015    42.3      29.9         7.3   

변수를 표시하고 수정하는 기본적인 방법은 점 구문을 사용하여 이름으로 변수에 액세스하는 것입니다.

TT.Temp
ans = 3×1

   37.3000
   39.1000
   42.3000

TT.Pressure(3) = 30
TT=3×3 timetable
       Time        Temp    Pressure    WindSpeed
    ___________    ____    ________    _________

    18-Dec-2015    37.3      30.1        13.4   
    19-Dec-2015    39.1     30.03         6.5   
    20-Dec-2015    42.3        30         7.3   

변수 설명으로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 이 속성은 빈 셀형 배열(디폴트 값)일 수 있습니다. 배열이 비어 있지 않은 경우, 여기에는 변수 개수만큼의 요소가 포함되어야 합니다. 설명이 없는 변수에 대해 개별적으로 빈 문자형 벡터 또는 빈 string형을 지정할 수 있습니다.

  • 변수 설명은 summary 함수를 사용할 때 확인할 수 있습니다.

  • string형 배열을 사용하여 이 속성을 지정하면 이 속성은 문자형 벡터로 구성된 셀형 배열로 변환되어 저장됩니다.

예제

타임테이블을 생성합니다. 변수 이름과 변수 설명을 수정합니다. 결과의 요약을 표시합니다.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]);
TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'};
TT.Properties.VariableDescriptions = {'Temperature (external)', ...
                                      'Pressure in Hg', ...
                                      'Wind speed at sensor 123'};
summary(TT)
RowTimes:

    Time: 3x1 datetime
        Values:
            Min           18-Dec-2015 
            Median        19-Dec-2015 
            Max           20-Dec-2015 
            TimeStep      24:00:00    

Variables:

    Temp: 3x1 double

        Properties:
            Description:  Temperature (external)
        Values:

            Min         37.3  
            Median      39.1  
            Max         42.3  

    Pressure: 3x1 double

        Properties:
            Description:  Pressure in Hg
        Values:

            Min         29.9  
            Median     30.03  
            Max         30.1  

    WindSpeed: 3x1 double

        Properties:
            Description:  Wind speed at sensor 123
        Values:

            Min          6.5  
            Median       7.3  
            Max         13.4  

변수 단위로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 이 속성은 빈 셀형 배열(디폴트 값)일 수 있습니다. 배열이 비어 있지 않은 경우, 여기에는 변수 개수만큼의 요소가 포함되어야 합니다. 단위가 없는 변수에 대해 개별적으로 빈 문자형 벡터 또는 빈 string형을 지정할 수 있습니다.

  • 변수 단위는 summary 함수를 사용할 때 확인할 수 있습니다.

  • string형 배열을 사용하여 이 속성을 지정하면 이 속성은 문자형 벡터로 구성된 셀형 배열로 변환되어 저장됩니다.

예제

타임테이블을 생성합니다. 변수 이름과 변수 단위를 수정합니다. 결과의 요약을 표시합니다.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[30.1;30.03;29.9],[13.4;6.5;7.3]);
TT.Properties.VariableNames = {'Temp','Pressure','WindSpeed'};
TT.Properties.VariableUnits = {'degrees F','mm Hg','mph'};
summary(TT)
RowTimes:

    Time: 3x1 datetime
        Values:
            Min           18-Dec-2015 
            Median        19-Dec-2015 
            Max           20-Dec-2015 
            TimeStep      24:00:00    

Variables:

    Temp: 3x1 double

        Properties:
            Units:  degrees F
        Values:

            Min         37.3  
            Median      39.1  
            Max         42.3  

    Pressure: 3x1 double

        Properties:
            Units:  mm Hg
        Values:

            Min         29.9  
            Median     30.03  
            Max         30.1  

    WindSpeed: 3x1 double

        Properties:
            Units:  mph
        Values:

            Min          6.5  
            Median       7.3  
            Max         13.4  

연속 변수 또는 이산 변수로서의 상태로, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 이 속성은 빈 배열(디폴트 값)일 수 있습니다. 배열이 비어 있지 않은 경우, 여기에는 변수 개수만큼의 요소가 포함되어야 합니다. 각 요소는 'unset', 'continuous', 'step' 또는 'event'일 수 있습니다.

VariableContinuity의 값은 retime 함수 또는 synchronize 함수의 작동 방식에 영향을 미칩니다. VariableContinuity를 지정하고 retime 또는 synchronize를 호출하는 경우 방법을 지정하지 않아도 됩니다. 대신, retimesynchronize가 다음 디폴트 방법을 사용하여 출력 타임테이블 변수를 채웁니다.

  • 'unset' — 변수의 유형에 맞는 누락 데이터 표시자(예: 숫자형 변수의 경우 NaN)를 사용하여 값을 채웁니다.

  • 'continuous' — 선형 보간을 사용하여 값을 채웁니다.

  • 'step' — 이전 값을 사용하여 값을 채웁니다.

  • 'event' — 변수의 유형에 맞는 누락 데이터 표시자(예: 숫자형 변수의 경우 NaN)를 사용하여 값을 채웁니다.

retime 또는 synchronize에 대한 입력 인수로 방법을 지정하면 이 방법이 VariableContinuity에 지정된 값을 재정의합니다.

VariableContinuity 속성 사용에 대한 자세한 내용은 여러 가지 방법으로 타임테이블 변수에 대한 시간 값을 재지정하고 동기화하기 항목을 참조하십시오.

타임테이블을 생성합니다. 각 변수의 matlab.tabular.Continuity 값을 지정합니다.

TT = timetable(datetime({'2015-12-18';'2015-12-19';'2015-12-20'}), ...
               [37.3;39.1;42.3],[13.4;6.5;7.3],{'N';'SE';'NW'});
TT.Properties.VariableNames = {'Temperature','WindSpeed','WindDirection'};
TT.Properties.VariableContinuity = {'continuous','event','event'};
TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'Temperature'  'WindSpeed'  'WindDirection'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: [continuous    event    event]
                RowTimes: [3x1 datetime]
               StartTime: 18-Dec-2015
              SampleRate: NaN
                TimeStep: 1d
                  Events: []
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

사용자 지정 메타데이터

타임테이블과 타임테이블 변수의 사용자 지정 메타데이터로, CustomProperties 객체로 지정됩니다.

CustomProperties 객체는 타임테이블에 추가할 수 있는 사용자 지정 메타데이터의 컨테이너입니다. 기본적으로 CustomProperties는 0개 속성을 가집니다. CustomProperties에 추가하는 각 속성은 테이블 메타데이터 또는 변수 메타데이터를 포함할 수 있습니다. 속성이 변수 메타데이터를 포함하는 경우, 그 값은 배열이 되어야 하고 배열의 요소 개수는 타임테이블 변수의 개수와 같아야 합니다.

  • 타임테이블에 사용자 지정 메타데이터에 대한 속성을 추가하려면 addprop 함수를 사용하십시오.

  • 사용자 지정 메타데이터에 액세스하거나 이를 수정하려면 구문 timetableName.Properties.CustomProperties.PropertyName을 사용하십시오. 이 구문에서 PropertyNameaddprop를 사용하여 해당 속성을 추가할 때 선택한 이름입니다.

  • 속성을 제거하려면 rmprop 함수를 사용하십시오.

참고: 사용자 지정 메타데이터에 대한 속성 addproprmprop를 사용하여 추가 또는 제거할 수 있습니다. timetableName.Properties 객체의 속성은 추가하거나 제거할 수 없습니다.

예제

날씨 데이터를 포함하는 타임테이블을 생성합니다.

TT = timetable(datetime({'2015-12-18';'2015-12-20';'2015-12-21'}), ...
               [37.3;39.1;42.3],[13.4;6.5;7.3],{'N';'SE';'NW'});
TT.Properties.VariableNames = {'Temperature','WindSpeed','WindDirection'}
TT=3×3 timetable
       Time        Temperature    WindSpeed    WindDirection
    ___________    ___________    _________    _____________

    18-Dec-2015       37.3          13.4          {'N' }    
    20-Dec-2015       39.1           6.5          {'SE'}    
    21-Dec-2015       42.3           7.3          {'NW'}    

이러한 데이터를 측정한 계측기와 출력 파일의 이름을 설명하려면 addprop 함수를 사용하여 사용자 지정 메타데이터를 추가하십시오. Instruments 속성은 TT의 변수에 적용되는 변수 메타데이터를 가집니다. OutputFile 속성은 테이블 메타데이터를 가집니다.

TT = addprop(TT,{'Instruments','OutputFile'},{'variable','table'});
TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'Temperature'  'WindSpeed'  'WindDirection'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [3x1 datetime]
               StartTime: 18-Dec-2015
              SampleRate: NaN
                TimeStep: NaN
                  Events: []

   Custom Properties (access using t.Properties.CustomProperties.<name>):
              OutputFile: []
             Instruments: []

점 구문을 사용하여 사용자 지정 메타데이터에 값을 할당합니다. 사용자 지정 메타데이터에 텍스트 값으로 구성된 배열을 할당할 때는 문자형 벡터로 구성된 셀형 배열이 아닌 string형 배열을 사용하는 것이 가장 좋습니다. CustomProperties에 문자형 벡터로 구성된 셀형 배열인 속성이 있는 경우, 나중에 텍스트가 아닌 값을 셀형 배열의 요소로 할당하지 못하도록 하는 방법은 존재하지 않습니다.

TT.Properties.CustomProperties.Instruments = ["thermometer","anemometer","wind vane"];
TT.Properties.CustomProperties.OutputFile = 'weatherReadings.csv';
TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'Temperature'  'WindSpeed'  'WindDirection'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [3x1 datetime]
               StartTime: 18-Dec-2015
              SampleRate: NaN
                TimeStep: NaN
                  Events: []

   Custom Properties (access using t.Properties.CustomProperties.<name>):
              OutputFile: 'weatherReadings.csv'
             Instruments: ["thermometer"    "anemometer"    "wind vane"]

TT에서 OutputFile 속성을 제거합니다.

TT = rmprop(TT,'OutputFile');
TT.Properties
ans = 
  TimetableProperties with properties:

             Description: ''
                UserData: []
          DimensionNames: {'Time'  'Variables'}
           VariableNames: {'Temperature'  'WindSpeed'  'WindDirection'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [3x1 datetime]
               StartTime: 18-Dec-2015
              SampleRate: NaN
                TimeStep: NaN
                  Events: []

   Custom Properties (access using t.Properties.CustomProperties.<name>):
             Instruments: ["thermometer"    "anemometer"    "wind vane"]

예제

모두 축소

서로 다른 시간에 측정한 기상 조건 데이터를 타임테이블에 저장합니다. 타임테이블에서는 저장 기능 외에도 지정하는 시간으로 데이터를 동기화하는 함수도 제공합니다. 또한 타임테이블에 주석을 지정하여 작업과 타임테이블 변수를 설명할 수도 있습니다.

작업 공간 변수에서 타임테이블을 생성합니다. MeasurementTime의 값이 타임테이블의 행 시간값이 됩니다. 다른 입력 인수는 모두 타임테이블 변수가 됩니다. 이 구문을 사용할 때는 행 시간값 벡터와 TT 변수의 이름을 입력 인수의 이름으로 사용합니다.

MeasurementTime = datetime({'2015-12-18 08:03:05';'2015-12-18 10:03:17';'2015-12-18 12:03:13'});
Temp = [37.3;39.1;42.3];
Pressure = [30.1;30.03;29.9];
WindSpeed = [13.4;6.5;7.3];
TT = timetable(MeasurementTime,Temp,Pressure,WindSpeed)
TT=3×3 timetable
      MeasurementTime       Temp    Pressure    WindSpeed
    ____________________    ____    ________    _________

    18-Dec-2015 08:03:05    37.3      30.1        13.4   
    18-Dec-2015 10:03:17    39.1     30.03         6.5   
    18-Dec-2015 12:03:13    42.3      29.9         7.3   

기상 데이터를 시간 스텝이 1시간인 규칙적인 시간으로 동기화합니다. 선형 보간을 사용하여 데이터를 새 시간으로 조정합니다.

TT2 = retime(TT,'hourly','linear')
TT2=6×3 timetable
      MeasurementTime        Temp     Pressure    WindSpeed
    ____________________    ______    ________    _________

    18-Dec-2015 08:00:00    37.254     30.102      13.577  
    18-Dec-2015 09:00:00    38.152     30.067      10.133  
    18-Dec-2015 10:00:00    39.051     30.032      6.6885  
    18-Dec-2015 11:00:00    40.613     29.969      6.8783  
    18-Dec-2015 12:00:00    42.214     29.903      7.2785  
    18-Dec-2015 13:00:00    43.815     29.838      7.6788  

출력값의 행 시간값이 측정된 시간이 아니기 때문에 행 시간값으로 구성된 벡터의 이름을 바꿉니다. 이 벡터는 타임테이블의 첫 번째 차원 이름이기도 합니다.

TT2.Properties.DimensionNames{1} = 'InterpolatedTimes'
TT2=6×3 timetable
     InterpolatedTimes       Temp     Pressure    WindSpeed
    ____________________    ______    ________    _________

    18-Dec-2015 08:00:00    37.254     30.102      13.577  
    18-Dec-2015 09:00:00    38.152     30.067      10.133  
    18-Dec-2015 10:00:00    39.051     30.032      6.6885  
    18-Dec-2015 11:00:00    40.613     29.969      6.8783  
    18-Dec-2015 12:00:00    42.214     29.903      7.2785  
    18-Dec-2015 13:00:00    43.815     29.838      7.6788  

설명으로 TT2에 주석을 지정합니다. TT2.Properties를 통해 액세스한 메타데이터를 사용하여 TT2와 해당 변수에 주석을 지정할 수 있습니다.

TT2.Properties.Description = 'Weather data, interpolated to regular hourly times';
TT2.Properties
ans = 
  TimetableProperties with properties:

             Description: 'Weather data, interpolated to regular hourly times'
                UserData: []
          DimensionNames: {'InterpolatedTimes'  'Variables'}
           VariableNames: {'Temp'  'Pressure'  'WindSpeed'}
    VariableDescriptions: {}
           VariableUnits: {}
      VariableContinuity: []
                RowTimes: [6x1 datetime]
               StartTime: 18-Dec-2015 08:00:00
              SampleRate: 2.7778e-04
                TimeStep: 01:00:00
                  Events: []
        CustomProperties: No custom properties are set.
      Use addprop and rmprop to modify CustomProperties.

점 구문을 사용하여 타임테이블의 행 시간값에 액세스할 수 있습니다. 또한 점 구문을 사용하여 개별 변수에 액세스하거나 타임테이블의 두 번째 차원 이름을 사용하여 타임테이블의 모든 데이터에 액세스할 수 있습니다.

MAT 파일 outdoors에서 타임테이블을 불러옵니다. 처음 세 개의 행을 표시합니다.

load outdoors
outdoors(1:3,:)
ans=3×3 timetable
           Time            Humidity    TemperatureF    PressureHg
    ___________________    ________    ____________    __________

    2015-11-15 00:00:24        49          51.3          29.61   
    2015-11-15 01:30:24      48.9          51.5          29.61   
    2015-11-15 03:00:24      48.9          51.5          29.61   

행 시간값 벡터의 이름을 사용하여 행 시간값에 액세스합니다. 이 이름은 타임테이블의 첫 번째 차원 이름이기도 합니다. outdoors는 행 시간값을 datetime형 벡터로 저장합니다. 처음 3개 시간값을 표시합니다.

outdoors.Time(1:3)
ans = 3x1 datetime
   2015-11-15 00:00:24
   2015-11-15 01:30:24
   2015-11-15 03:00:24

변수 이름을 사용하여 기온을 숫자형 벡터로 액세스합니다.

outdoors.TemperatureF(1:3)
ans = 3×1

   51.3000
   51.5000
   51.5000

구문 outdoors.Variables를 사용하여 모든 타임테이블 데이터를 행렬로 액세스합니다. 이 구문은 타임테이블의 두 번째 차원 이름을 사용하기 때문에, 중괄호 인덱싱 outdoors{:,:}을 사용하여 모든 내용에 액세스하는 것과 같습니다. 하지만 행 시간값으로 구성된 벡터는 변수가 아니라 타임테이블 메타데이터이기 때문에 행렬에는 행 시간값이 포함되지 않습니다. 타임테이블 데이터를 하나의 행렬로 결합할 수 없는 경우, 오류 메시지가 나타납니다.

outdoors.Variables
ans = 51×3

   49.0000   51.3000   29.6100
   48.9000   51.5000   29.6100
   48.9000   51.5000   29.6100
   48.8000   51.5000   29.6100
   48.7000   51.5000   29.6000
   48.8000   51.5000   29.6000
   49.0000   51.5000   29.6000
   49.1000   51.3000   29.6000
   49.1000   51.3000   29.6100
   49.1000   51.5000   29.6100
      ⋮

outdoors의 두 번째 차원 이름을 바꿉니다. 이름을 변경한 경우, 새 이름을 사용하여 데이터에 액세스할 수 있습니다.

outdoors.Properties.DimensionNames{2} = 'Data';
outdoors.Data
ans = 51×3

   49.0000   51.3000   29.6100
   48.9000   51.5000   29.6100
   48.9000   51.5000   29.6100
   48.8000   51.5000   29.6100
   48.7000   51.5000   29.6000
   48.8000   51.5000   29.6000
   49.0000   51.5000   29.6000
   49.1000   51.3000   29.6000
   49.1000   51.3000   29.6100
   49.1000   51.5000   29.6100
      ⋮

'RowTimes' 이름-값 쌍의 인수를 사용하여 타임테이블을 생성합니다. TT의 행 시간값 벡터 이름은 MeasurementTime이 아니라 Time입니다. 이 구문을 사용하는 경우 행 시간값 벡터 이름은 항상 Time입니다.

MeasurementTime = datetime({'2015-12-18 08:03:05';'2015-12-18 10:03:17';'2015-12-18 12:03:13'});
Temp = [37.3;39.1;42.3];
Pressure = [29.4;29.6;30.0];
Precip = [0.1;0.9;0.0];
StormDuration = [hours(1);hours(2);NaN];
TT = timetable(Temp,Pressure,Precip,StormDuration,'RowTimes',MeasurementTime)
TT=3×4 timetable
            Time            Temp    Pressure    Precip    StormDuration
    ____________________    ____    ________    ______    _____________

    18-Dec-2015 08:03:05    37.3      29.4       0.1           1 hr    
    18-Dec-2015 10:03:17    39.1      29.6       0.9           2 hr    
    18-Dec-2015 12:03:13    42.3        30         0         NaN hr    

타임테이블을 생성합니다. 작업 공간 변수가 아닌 입력 인수가 있으면 timetable 함수는 이에 대응하는 행 시간값 벡터와 타임테이블 변수에 디폴트 이름을 할당합니다. 예를 들어, 열 벡터로 만들기 위해 입력 인수를 전치하는 경우 이 입력 인수는 작업 공간 변수가 아닙니다. 행 시간값으로 구성된 벡터의 디폴트 이름은 Time이고, N번째 타임테이블 변수의 디폴트 이름은 VarN입니다.

T = hours(1:3);
Temp = [37.3;39.1;42.3];
P = [29.4 29.6 30];
TT = timetable(T',Temp,P')
TT=3×2 timetable
    Time    Temp    Var2
    ____    ____    ____

    1 hr    37.3    29.4
    2 hr    39.1    29.6
    3 hr    42.3      30

100Hz의 샘플 레이트를 사용하여 규칙적인 타임테이블을 생성합니다.

Intensity = [100;98.7;95.2;101.4;99.1];
TT = timetable(Intensity,'SampleRate',100)
TT=5×1 timetable
      Time      Intensity
    ________    _________

    0 sec           100  
    0.01 sec       98.7  
    0.02 sec       95.2  
    0.03 sec      101.4  
    0.04 sec       99.1  

첫 번째 행 시간값을 30초로 하여 타임테이블을 생성합니다. 시작 시간을 지정하려면 'StartTime' 이름-값 쌍의 인수를 사용하십시오.

TT = timetable(Intensity,'SampleRate',100,'StartTime',seconds(30))
TT=5×1 timetable
      Time       Intensity
    _________    _________

    30 sec           100  
    30.01 sec       98.7  
    30.02 sec       95.2  
    30.03 sec      101.4  
    30.04 sec       99.1  

0.01초의 시간 스텝을 사용하여 규칙적인 타임테이블을 생성합니다. 시간 스텝은 duration형 값 또는 calendarDuration형 값으로 지정해야 합니다.

Intensity = [100;98.7;95.2;101.4;99.1];
TT = timetable(Intensity,'TimeStep',seconds(0.01))
TT=5×1 timetable
      Time      Intensity
    ________    _________

    0 sec           100  
    0.01 sec       98.7  
    0.02 sec       95.2  
    0.03 sec      101.4  
    0.04 sec       99.1  

첫 번째 행 시간값을 30초로 하여 타임테이블을 생성합니다. 시작 시간을 지정하려면 'StartTime' 이름-값 쌍의 인수를 사용하십시오.

TT = timetable(Intensity,'TimeStep',seconds(0.01),'StartTime',seconds(30))
TT=5×1 timetable
      Time       Intensity
    _________    _________

    30 sec           100  
    30.01 sec       98.7  
    30.02 sec       95.2  
    30.03 sec      101.4  
    30.04 sec       99.1  

테이블 크기와 변수의 데이터형을 지정하여 테이블을 사전할당합니다. timetable 함수는 지정하는 데이터형에 적합한 디폴트 값으로 변수를 채웁니다. 또한 변수에 디폴트 이름을 지정합니다.

T = [datetime('now') datetime(2017,11,1:3)];
sz = [4 3];
varTypes = {'double','double','string'};
TT = timetable('Size',sz,'VariableTypes',varTypes,'RowTimes',T)
TT=4×3 timetable
            Time            Var1    Var2      Var3   
    ____________________    ____    ____    _________

    07-Mar-2024 15:44:58     0       0      <missing>
    01-Nov-2017 00:00:00     0       0      <missing>
    02-Nov-2017 00:00:00     0       0      <missing>
    03-Nov-2017 00:00:00     0       0      <missing>

변수의 이름을 지정하려면 'VariableNames' 이름-값 쌍의 인수를 사용하십시오.

varNames = {'Temperature','WindSpeed','Station'};
TT = timetable('Size',sz,'VariableTypes',varTypes,'RowTimes',T,'VariableNames',varNames)
TT=4×3 timetable
            Time            Temperature    WindSpeed     Station 
    ____________________    ___________    _________    _________

    07-Mar-2024 15:44:58         0             0        <missing>
    01-Nov-2017 00:00:00         0             0        <missing>
    02-Nov-2017 00:00:00         0             0        <missing>
    03-Nov-2017 00:00:00         0             0        <missing>

TT에 데이터 행을 추가합니다. 사전할당 기법은 코드가 한 번에 1개 또는 적은 수의 데이터 행을 추가할 때 유용할 수 있습니다. 행을 추가할 때마다 일일이 타임테이블을 늘리는 대신 데이터를 추가할 수 있는 공간이 이미 있는 테이블 변수를 채울 수 있습니다. 한 줄의 데이터 값을 셀형 배열에 담아 타임테이블의 한 행에 할당할 수 있습니다.

시간값을 사용하여 행에 첨자를 추가하고 한 줄의 데이터 값을 할당합니다. 숫자를 행과 변수에 대한 첨자로 사용할 수도 있습니다. 하지만 시간을 타임테이블에 대한 첨자로 사용하는 것이 유용한 방법입니다.

TT(datetime(2017,11,2),:) = {48.2,13.33,"S1"}
TT=4×3 timetable
            Time            Temperature    WindSpeed     Station 
    ____________________    ___________    _________    _________

    07-Mar-2024 15:44:58          0              0      <missing>
    01-Nov-2017 00:00:00          0              0      <missing>
    02-Nov-2017 00:00:00       48.2          13.33      "S1"     
    03-Nov-2017 00:00:00          0              0      <missing>

한 줄의 데이터 값을 셀형 배열에 담을 수 있습니다. 셀형 배열에서 행을 할당하면 그 결과, 셀형 배열이 타임테이블 행으로 변환됩니다.

샘플 레이트를 1000Hz로 지정하고 타임테이블을 사전할당합니다. 시작 시간을 지정할 수도 있습니다.

sz = [4 3];
varTypes = {'uint64','double','duration'};
TT = timetable('Size',sz,'VariableTypes',varTypes,'SampleRate',1000,'StartTime',seconds(15))
TT=4×3 timetable
       Time       Var1    Var2      Var3  
    __________    ____    ____    ________

    15 sec         0       0      00:00:00
    15.001 sec     0       0      00:00:00
    15.002 sec     0       0      00:00:00
    15.003 sec     0       0      00:00:00

세 번째 행의 시간값을 지정하여 해당 요소를 참조하고 데이터를 추가합니다.

TT(seconds(15.002),:) = {50,1.37,minutes(76)}
TT=4×3 timetable
       Time       Var1    Var2      Var3  
    __________    ____    ____    ________

    15 sec          0        0    00:00:00
    15.001 sec      0        0    00:00:00
    15.002 sec     50     1.37    01:16:00
    15.003 sec      0        0    00:00:00

시간 스텝과 변수 이름을 지정합니다.

sz = [3 2];
varTypes = {'double','double'};
TT = timetable('Size',sz,'VariableTypes',varTypes,'TimeStep',seconds(0.1),'VariableNames',{'Intensity','Distance'})
TT=3×2 timetable
     Time      Intensity    Distance
    _______    _________    ________

    0 sec          0           0    
    0.1 sec        0           0    
    0.2 sec        0           0    

두 번째 행의 시간값을 지정하여 해당 요소를 참조하고 데이터를 추가합니다.

TT(seconds(0.1),:) = {93.6,11.27}
TT=3×2 timetable
     Time      Intensity    Distance
    _______    _________    ________

    0 sec           0            0  
    0.1 sec      93.6        11.27  
    0.2 sec         0            0  

타임테이블을 생성하고 타임테이블 변수의 이름을 지정합니다. 행 시간값으로 구성된 벡터는 duration형 벡터(단위: 초)입니다.

Time = seconds(1:5)';
TT = timetable(Time,[98;97.5;97.9;98.1;97.9],[120;111;119;117;116],...
               'VariableNames',{'Reading1','Reading2'})
TT=5×2 timetable
    Time     Reading1    Reading2
    _____    ________    ________

    1 sec        98        120   
    2 sec      97.5        111   
    3 sec      97.9        119   
    4 sec      98.1        117   
    5 sec      97.9        116   

R2019b부터는 유효한 MATLAB® 식별자가 아닌 타임테이블 변수 이름을 지정할 수 있습니다. 이러한 변수 이름은 공백과 비ASCII 문자를 포함할 수 있으며 임의의 문자를 선행 문자로 가질 수 있습니다.

예를 들어, 날짜를 측정값이 포함된 타임테이블 변수의 이름으로 사용할 수 있습니다.

TT = timetable(Time,[98;97.5;97.9;98.1;97.9],[120;111;119;117;116],...
               'VariableNames',{'29-May-2019','30-May-2019'})
TT=5×2 timetable
    Time     29-May-2019    30-May-2019
    _____    ___________    ___________

    1 sec         98            120    
    2 sec       97.5            111    
    3 sec       97.9            119    
    4 sec       98.1            117    
    5 sec       97.9            116    

유효한 식별자가 아닌 이름에 대해 점 표기법을 사용하려면 괄호와 따옴표를 포함시켜야 합니다.

TT.('29-May-2019')
ans = 5×1

   98.0000
   97.5000
   97.9000
   98.1000
   97.9000

제한 사항

  • 다음 입력 이름에는 작은따옴표를 사용하십시오.

    • 'DimensionNames'R2021a 이상

    • 'RowTimes'

    • 'SampleRate'

    • 'Size'

    • 'StartTime'

    • 'TimeStep'

    • 'VariableTypes'

    • 'VariableNames'

    가변 입력값과 혼동되지 않도록 이 이름들에는 큰따옴표로 묶인 string형 스칼라(예: "RowTimes")를 사용하지 마십시오.

  • 타임테이블을 수락하거나 반환하는 함수 목록은 타임테이블 항목을 참조하십시오.

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

    stime = datetime(2019,1,31);
    tstep = calmonths(1);
    TT = timetable('Size',[3 1],'VariableTypes',{'double'},...
                   'TimeStep',tstep,'StartTime',stime)
    
    TT =
    
      3×1 timetable
    
           Time        Var1
        ___________    ____
    
        31-Jan-2019     0  
        28-Feb-2019     0  
        31-Mar-2019     0  
    

    DST(일광 절약 시간제)의 전환이나 윤초인 datetime형 값으로 인해 불규칙성이 발생하는 경우도 있습니다. 다음 표에서는 예기치 않게 불규칙적인 결과를 생성할 수 있는 날짜, 시간 및 시간 스텝을 보여줍니다.

    행 시간값

    시간 스텝

    월의 29일, 30일 또는 31일로 지정된 시작 시간.

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

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

    달력상의 연수.

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

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

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

확장 기능

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

버전 내역

R2016b에 개발됨

모두 확장