Main Content

이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

시계열 객체 및 컬렉션

시계열 유형과 용도

MATLAB® 시계열 객체의 유형은 두 가지입니다.

  • timeseries — 데이터 및 시간 값뿐만 아니라 단위, 이벤트, 데이터 품질, 보간 방법이 포함된 메타데이터 정보도 저장합니다.

  • tscollection — 공통된 시간 벡터를 공유하는 timeseries 객체 모음을 저장하며, 단위가 서로 다른 동기화된 시계열에 대해 간편하게 작업을 수행할 수 있습니다.

이 섹션에서는 다음 주제에 대해 다룹니다.

  • 시계열 생성자를 사용하여 시계열 클래스 인스턴스화

  • set 메서드 또는 점 표기법을 사용하여 객체 속성 수정

  • 시계열 함수 및 메서드 호출

timeseries 객체와 tscollection 객체를 사용한 프로그래밍에 대해 간략하게 살펴보려면 예제: 시계열 객체 및 메서드의 단계를 따르십시오.

시계열 데이터 샘플

이 문서에 나오는 timeseries 객체 속성 및 메서드에 대한 설명을 제대로 이해하려면 timeseries 객체에 데이터를 저장하는 작업과 관련된 일부 용어를 명확히 구분해야 합니다(데이터 값데이터 샘플의 차이점).

데이터 값은 특정 시간에 기록된 단일 스칼라 값입니다. 데이터 샘플timeseries 객체의 특정 시간과 연결된 하나 이상의 값으로 구성됩니다. 시계열에 포함된 데이터 샘플 개수는 시간 벡터의 길이와 같습니다.

예를 들어, 3개의 센서 신호로 구성된 데이터를 가정해 보겠습니다. 2개의 신호는 객체의 위치(단위: 미터)를 나타내고 세 번째 신호는 객체의 속도(단위: 미터/초)를 나타냅니다.

데이터 행렬을 입력하려면 MATLAB 프롬프트에서 다음을 입력하십시오.

x = [-0.2 -0.3 13;
     -0.1 -0.4 15;
      NaN  2.8 17;
      0.5 0.3 NaN;
     -0.3 -0.1 15]

NaN 값은 누락된 데이터 값을 나타냅니다. 그러면 MATLAB은 다음 5x3 행렬을 표시합니다.

 x=
   -0.2000   -0.3000   13.0000
   -0.1000   -0.4000   15.0000
    NaN       2.8000   17.0000
    0.5000    0.3000       NaN
   -0.3000   -0.1000   15.0000

x의 처음 2개 열에는 같은 단위의 양이 포함되기 때문에 다변량 timeseries 객체를 생성하여 이 시계열 2개를 저장할 수 있습니다. timeseries 객체 생성에 대한 자세한 내용은 시계열 생성자 항목을 참조하십시오. 다음 명령은 timeseries 객체 ts_pos를 생성하여 위치 값을 저장합니다.

ts_pos = timeseries(x(:,1:2), 1:5, 'name', 'Position')

MATLAB은 ts_pos의 다음 속성을 표시하는 방식으로 응답합니다.

timeseries

  Common Properties:
            Name: 'Position'
            Time: [5x1 double]
        TimeInfo: [1x1 tsdata.timemetadata]
            Data: [5x2 double]
        DataInfo: [1x1 tsdata.datametadata]

  More properties, Methods

시간 벡터의 Length(이 예제의 경우 5)는 timeseries 객체의 데이터 샘플 수와 같습니다. MATLAB 프롬프트에 다음을 입력하여 ts_pos에서 데이터 샘플 크기를 구합니다.

getdatasamplesize(ts_pos)

ans =

     1     2

마찬가지로, 두 번째 timeseries 객체를 생성하여 속도 데이터를 저장할 수 있습니다.

ts_vel = timeseries(x(:,3), 1:5, 'name', 'Velocity');

다음을 입력하여 ts_vel에서 각 데이터 샘플의 크기를 구합니다.

getdatasamplesize(ts_vel)

ans =

     1     1

ts_vel에는 데이터 샘플마다 1개의 데이터 값, ts_pos에는 데이터 샘플마다 2개의 데이터 값이 있는 것을 알 수 있습니다.

참고

일반적으로 시계열 데이터가 샘플이 M개인 MxNxPx... 다차원 배열일 때, 각 데이터 샘플의 크기는 NxPx...입니다.

ts_posts_vel timeseries 객체를 동기화된 상태로 유지하면서 작업을 수행하려면 하나의 시계열 모음 내에서 두 객체를 그룹화하십시오. 자세한 내용은 시계열 컬렉션 생성자 구문 항목을 참조하십시오.

예제: 시계열 객체 및 메서드

시계열 객체 생성하기

예제의 이 부분에서는 배열에서 여러 timeseries 객체를 생성하는 방법을 보여줍니다. timeseries 객체에 대한 자세한 내용은 시계열 생성자 항목을 참조하십시오.

count.dat의 샘플 데이터를 MATLAB 작업 공간으로 가져옵니다.

load count.dat

이렇게 하면 24x3 행렬 count가 작업 공간에 추가됩니다. count의 각 열은 도심 교차로 세 곳의 시간별 차량 수를 나타냅니다.

count 행렬을 확인합니다.

count

3개의 timeseries 객체를 생성하여 각 교차로에서 수집한 데이터를 저장합니다.

count1 = timeseries(count(:,1), 1:24,'name', 'intersection1');
count2 = timeseries(count(:,2), 1:24,'name', 'intersection2');
count3 = timeseries(count(:,3), 1:24,'name', 'intersection3');

참고

위 구문에서 timeseries 객체에는 변수 이름(예: count1)과 내부 객체 이름(예: intersection1)이 모두 있습니다. 변수 이름은 MATLAB 함수에서 사용됩니다. 객체 이름은 객체 메서드로 액세스하는 객체 속성입니다. timeseries 객체 속성 및 메서드에 대한 자세한 내용은 시계열 속성 항목과 시계열 메서드 항목을 참조하십시오.

기본적으로 시계열에는 단위가 초이고 시작 시간이 0초인 시간 벡터가 있습니다. 예제에서는 시작 시간이 1초이고 종료 시간은 24초이며 1초씩 증가하는 count1, count2, count3 시계열 객체를 생성합니다. 시계열 단위 및 보간 방법 수정하기에서는 시간의 단위를 시간으로 변경할 것입니다.

참고

count의 데이터 열 3개를 그룹화하는 timeseries 객체를 생성하려면 다음 구문을 사용하십시오.

count_ts = timeseries(count, 1:24,'name','traffic_counts')

모든 시계열의 단위가 동일하고 계산하는 동안 시계열을 동기화 상태로 유지하려는 경우에 유용한 방법입니다.

시계열 객체 보기

시계열 객체 생성하기 항목에서 설명한 대로 timeseries 객체를 생성한 후에 변수 편집기에서 확인할 수 있습니다.

변수 편집기에서 count1 같은 timeseries 객체를 보려면 다음 방법 중 하나를 사용하십시오.

  • 명령 프롬프트에 open('count1')을 입력합니다.

  • 탭의 변수 섹션에서 변수 열기를 클릭하고 count1을 선택합니다. MATLAB Online™에서는 이 방법을 사용할 수 없습니다.

시계열 단위 및 보간 방법 수정하기

시계열 객체 생성하기 항목에서 설명한 대로 timeseries 객체를 생성한 후에 점 표기법을 사용하여 단위와 보간 방법을 수정할 수 있습니다.

count1의 현재 속성을 확인합니다.

get(count1)

MATLAB은 count1 timeseries 객체의 현재 속성값을 표시합니다.

점 표기법을 사용하여 현재 DataInfo 속성을 확인합니다.

count1.DataInfo

count1의 데이터 단위를 'cars'로 변경합니다.

count1.DataInfo.Units = 'cars';

count1의 보간 방법을 영차수 유지(Zero-Order Hold)로 설정합니다.

count1.DataInfo.Interpolation = tsdata.interpolation('zoh');

DataInfo 속성이 수정된 것을 확인합니다.

count1.DataInfo

3개 시계열의 시간 단위를 'hours'로 수정합니다.

count1.TimeInfo.Units = 'hours';
count2.TimeInfo.Units = 'hours';
count3.TimeInfo.Units = 'hours';

이벤트 정의하기

예제의 이 부분에서는 tsdata.event 보조 객체를 사용하여 timeseries 객체의 이벤트를 정의하는 방법을 보여줍니다. 이벤트는 특정 시간에 데이터에 표시를 합니다. 데이터를 플로팅하면 플롯에 이벤트 마커가 표시됩니다. 또한 이벤트를 사용하면 여러 시계열을 간편하게 동기화할 수 있습니다.

오전 통근 시간과 오후 통근 시간을 표시하는 2개의 이벤트를 데이터에 추가합니다.

첫 번째 이벤트를 생성하여 모든 시계열에 추가합니다. 첫 번째 이벤트는 오전 8시에 발생합니다.

e1 = tsdata.event('AMCommute',8);
e1.Units = 'hours';            % Specify the units for time
count1 = addevent(count1,e1);  % Add the event to count1
count2 = addevent(count2,e1);  % Add the event to count2
count3 = addevent(count3,e1);  % Add the event to count3

두 번째 이벤트를 생성하여 모든 시계열에 추가합니다. 두 번째 이벤트는 오후 6시에 발생합니다.

e2 = tsdata.event('PMCommute',18);
e2.Units = 'hours';            % Specify the  units for time
count1 = addevent(count1,e2);  % Add the event to count1
count2 = addevent(count2,e2);  % Add the event to count2
count3 = addevent(count3,e2);  % Add the event to count3

시계열 count1을 플로팅합니다.

figure
plot(count1)

시계열을 플로팅하면 시계열 객체에 정의된 plot 메서드가 이벤트를 마커로 표시합니다. 기본적으로 마커는 빨간색으로 채워진 원입니다.

플롯에는 count1이 영차수 유지 보간을 사용한다는 점이 반영됩니다.

count2를 플로팅합니다.

plot(count2)

시계열 count2를 플로팅하면 count1 표시가 이 시계열로 바뀝니다. 해당 이벤트와 시계열이 선형 보간을 사용한다는 것을 확인할 수 있습니다.

hold on을 설정하여 시계열 플롯을 겹쳐놓습니다.

hold on
plot(count3)

시계열 컬렉션 객체 생성하기

예제의 이 부분에서는 tscollection 객체를 생성하는 방법을 보여줍니다. 컬렉션의 각 개별 시계열을 멤버라고 합니다. tscollection 객체에 대한 자세한 내용은 시계열 컬렉션 생성자 항목을 참조하십시오.

참고

일반적으로 tscollection 객체를 사용하여 단위가 다른 동기화된 시계열을 그룹화합니다. 이 간단한 예제에서는 모든 시계열의 단위가 동일하기 때문에, 단일 timeseries 객체 내에서 시계열 3개를 그룹화하는 것보다 tscollection 객체를 사용하는 게 더 유리하지 않습니다. 단일 timeseries 객체 내에서 여러 시계열을 그룹화하는 방법을 보여주는 예제는 시계열 객체 생성하기 항목을 참조하십시오.

이름이 count_colltscollection 객체를 생성하고, 생성자 구문을 사용하여 현재 MATLAB 작업 공간에 있는 3개 시계열 중 2개를 즉시 추가합니다(세 번째 시계열은 나중에 추가함).

tsc = tscollection({count1 count2},'name', 'count_coll')

참고

tscollection에 추가하는 timeseries 객체의 시간 벡터들은 서로 일치해야 합니다.

timeseries 객체의 Name 속성은 컬렉션 멤버의 이름을 intersection1intersection2로 지정하는 데 사용됩니다.

작업 공간의 세 번째 timeseries 객체를 tscollection에 추가합니다.

tsc = addts(tsc, count3)

컬렉션의 3개 멤버가 모두 나열됩니다.

시계열 컬렉션 객체 리샘플링하기

예제의 이 부분에서는 새 시간 벡터를 사용하여 tscollection의 각 멤버를 리샘플링하는 방법을 보여줍니다. 리샘플링 작업은 특정 시간 값에서 기존 데이터를 선택하거나 데이터를 더 촘촘한 간격으로 보간하는 데 사용됩니다. 새 시간 벡터에 이전 시간 벡터에 없던 시간 값이 있으면 시계열에 연결한 디폴트 보간 방법을 사용하여 새 데이터 값을 계산합니다.

시계열을 리샘플링하여 1시간이 아니라 2시간마다 데이터 값을 포함시키고 이 값을 새 tscollection 객체로 저장합니다.

tsc1 = resample(tsc,1:2:24)

일부 경우에는 정보를 현재보다 더 미세하게 샘플링해야 할 수도 있기 때문에 데이터 값을 보간하여 정보를 가져오는 것이 좋습니다.

30분 표시마다 값을 보간합니다.

tsc1 = resample(tsc,1:0.5:24)

30분 표시마다 값을 추가하기 위해 시계열의 디폴트 보간 방법을 사용합니다. 예를 들어, 이전 샘플 상수의 값을 유지하는 영차수 유지 보간 방법을 사용하여 intersection1의 새 데이터 점을 계산합니다. 시계열 단위 및 보간 방법 수정하기 항목에서 설명한 대로 intersection1의 보간 방법을 설정합니다.

디폴트 방법인 선형 보간을 사용하여 intersection2intersection3의 새 데이터 점을 계산합니다.

마커와 함께 tsc1의 멤버를 플로팅하여 보간 결과를 확인합니다.

hold off                % Allow axes to clear before plotting
plot(tsc1.intersection1,'-xb','Displayname','Intersection 1')

데이터 점이 30분 간격으로 보간되었으며, Intersection 1은 영차수 유지 보간을 사용한 반면 다른 두 멤버는 선형 보간을 사용한다는 사실을 확인할 수 있습니다.

플롯에 다른 두 멤버를 추가하는 동안 Figure에서 그래프를 유지합니다. holdon인 상태에서 plot 메서드는 축 레이블을 표시하지 않기 때문에 3개 시계열을 설명하는 범례도 추가합니다.

hold on
plot(tsc1.intersection2,'-.xm','Displayname','Intersection 2')
plot(tsc1.intersection3,':xr','Displayname','Intersection 3')
legend('show','Location','NorthWest')

시계열 컬렉션 객체에 데이터 샘플 추가하기

예제의 이 부분에서는 tscollection에 데이터 샘플을 추가하는 방법을 보여줍니다.

3.25시(3시 15분)에 intersection1 컬렉션 멤버에 데이터 샘플을 추가합니다.

tsc1 = addsampletocollection(tsc1,'time',3.25,...
       'intersection1',5);

tsc1 컬렉션에는 3개의 멤버가 있으며, 3.25시에 한 멤버에 데이터 샘플을 추가하면 다른 두 멤버에도 데이터 샘플이 추가됩니다. 하지만 새 샘플의 intersection2intersection3에 대한 데이터 값을 지정하지 않았기 때문에 이 멤버들의 누락된 값은 NaN으로 표시됩니다. 누락된 데이터 값을 제거하거나 보간하는 방법에 대해 알아보려면 누락된 데이터 제거하기 항목과 누락된 데이터 보간하기 항목을 참조하십시오.

2.0 ~ 3.5시의 tsc1 데이터

시간

Intersection 1

Intersection 2

Intersection 3

2.0

7

13

11

2.5

7

15

15.5

3.0

14

17

20

3.25

5

NaN

NaN

3.5

14

15

14.5

모든 intersection1 데이터(3.25시의 새 샘플 포함)를 보려면 다음을 입력하십시오.

tsc1.intersection1

마찬가지로, 모든 intersection2 데이터(NaN 값을 비롯한 3.25시의 새 샘플 포함)를 보려면 다음을 입력하십시오.

tsc1.intersection2

누락된 데이터 제거 및 보간하기

시계열 객체는 NaN을 사용하여 누락된 데이터를 표시합니다. 예제의 이 부분에서는 누락된 데이터를 제거하거나 시계열에 대해 지정한 보간 방법을 사용하여 누락된 데이터 값을 보간하는 방법을 보여줍니다. 시계열 컬렉션 객체에 데이터 샘플 추가하기 항목에서 3.25시에 새 데이터 샘플을 tsc1 컬렉션에 추가했습니다.

tsc1 컬렉션에 3개의 멤버가 있기 때문에 3.25시에 한 멤버에 데이터 샘플을 추가하자 다른 두 멤버에도 데이터 샘플이 추가되었습니다. 하지만 3.25시의 intersection2 멤버와 intersection3 멤버에 대해 데이터 값을 지정하지 않았기 때문에 현재 NaN으로 표시된 누락된 값이 컬렉션에 포함되어 있습니다.

누락된 데이터 제거하기.  tsc1 컬렉션에서 NaN 값이 포함된 데이터 샘플을 찾아 제거합니다.

tsc1 = delsamplefromcollection(tsc1,'index',...
       find(isnan(tsc1.intersection2.Data)));

이 명령은 tscollection 멤버(이 경우 intersection2)를 한 번에 하나씩 검색합니다. 누락된 값이 intersection2에 있으면 해당 시간의 데이터가 tscollection모든 멤버에서 제거됩니다.

참고

점 표기법 구문을 사용하여 tsc1 컬렉션에 있는 intersection2 멤버의 Data 속성에 액세스합니다.

tsc1.intersection2.Data

전체 timeseries 속성 목록은 시계열 속성 항목을 참조하십시오.

누락된 데이터 보간하기.  이 예제를 위해 intersection2intersection3NaN 값을 다시 포함시킵니다.

tsc1 = addsampletocollection(tsc1,'time',3.25,...
       'intersection1',5);

현재의 시간 벡터(tsc1.Time)를 사용하여 tsc1의 누락된 값을 보간합니다.

tsc1 = resample(tsc1,tsc1.Time);

위 구문은 이 시계열의 디폴트 보간 방법인 선형 보간을 사용하여 intersection2intersection3NaN 값을 바꿉니다.

참고

점 표기법 tsc1.Timetsc1 컬렉션의 Time 속성에 액세스하는 데 사용됩니다. 전체 tscollection 속성 목록은 시계열 컬렉션 속성 항목을 참조하십시오.

예를 들어, 보간 후 intersection2 데이터를 보려면 다음을 입력하십시오.

tsc1.intersection2

2.0 ~ 3.5시의 새 tsc1 데이터

시간

Intersection 1

Intersection 2

Intersection 3

2.0

7

13

11

2.5

7

15

15.5

3.0

14

17

20

3.25

5

16

17.3

3.5

14

15

14.5

시계열 컬렉션에서 시계열 제거하기

tscollection 객체 tsc1에서 intersection3 시계열을 제거합니다.

tsc1 = removets(tsc1,'intersection3')

이제는 2개의 시계열이 컬렉션의 멤버로 나열됩니다.

시간 벡터 값을 날짜 문자열로 표시하기

예제의 이 부분에서는 MATLAB 날짜 문자열을 사용하여 숫자형 시간 벡터가 표시되는 형식을 제어하는 방법을 보여줍니다. timeseries 객체와 tscollection 객체에 지원되는 MATLAB 날짜-문자열 형식의 전체 목록은 timeseries 함수 도움말 페이지의 시간 벡터 정의를 참조하십시오.

날짜 문자열을 사용하려면 TimeInfo 속성의 StartDate 필드를 설정해야 합니다. StartDate를 기준 날짜로 하여 시간 벡터의 모든 값이 날짜 문자열로 변환됩니다.

기준 날짜를 2009년 12월 25일로 정의한다고 가정해 보겠습니다.

tsc1.TimeInfo.Units = 'hours';
tsc1.TimeInfo.StartDate = '25-DEC-2009 00:00:00';

count1, count2count3 시계열 객체에서 한 것처럼, tsc1 멤버의 데이터 단위를 문자열 'car count'로 설정합니다.

tsc1.intersection1.DataInfo.Units = 'car count';
tsc1.intersection2.DataInfo.Units = 'car count';

시계열 컬렉션 멤버 플로팅하기

시계열 컬렉션의 데이터를 플로팅하려면 해당 멤버를 한 번에 하나씩 플로팅하십시오.

먼저 tsc1 멤버 intersection1을 그래프로 그립니다.

hold off
plot(tsc1.intersection1);

시계열 컬렉션의 멤버를 플로팅하면 멤버의 시간 단위는 x축, 데이터 단위는 y축에 표시됩니다. 플롯 제목은 'Time Series Plot:<member name>'(으)로 표시됩니다.

동일한 Figure를 사용하여 컬렉션의 서로 다른 멤버들을 플로팅하면 주석이 표시되지 않습니다. 시계열 plot 메서드는 holdon일 때 레이블과 제목을 업데이트하지 않습니다. 계열의 설명자가 다를 수 있기 때문입니다.

동일한 Figure에서 intersection1intersection2를 플로팅합니다. 플롯을 덮어쓰지 않도록 하되, 축 레이블과 제목은 제거합니다. 범례를 추가하고 lineseries의 DisplayName 속성을 설정하여 각 멤버에 레이블을 지정합니다.

plot(tsc1.intersection1,'-xb','Displayname','Intersection 1')
hold on
plot(tsc1.intersection2,'-.xm','Displayname','Intersection 2')
legend('show','Location','NorthWest')

이제 플롯에는 컬렉션의 시계열 2개, intersection1intesection2가 포함됩니다. 두 번째 그래프를 플로팅하면 첫 번째 그래프에서 레이블이 지워집니다.

마지막으로, x축의 날짜 문자열을 hours로 변경하고 범례와 함께 2개의 시계열 컬렉션 멤버를 플로팅합니다.

컬렉션의 시간 단위를 'hours'로 지정합니다.

tsc1.TimeInfo.Units = 'hours';

시간 표시 형식을 지정합니다.

tsc1.TimeInfo.Format = 'HH:MM';

새 시간 단위로 마지막 플롯을 다시 생성합니다.

hold off
plot(tsc1.intersection1,'-xb','Displayname','Intersection 1')

% Prevent overwriting plot, but remove axis labels and title.
hold on
plot(tsc1.intersection2,'-.xm','Displayname','Intersection 2')
legend('show','Location','NorthWest')

% Restore the labels with the |xlabel| and |ylabel| commands and overlay a
% data grid.
xlabel('Time (hours)')
ylabel('car count')
grid on

시계열의 플로팅 옵션에 대한 자세한 내용은 timeseries를 참조하십시오.

시계열 생성자

시계열 데이터를 처리하기 위해 특별히 고안된 다양한 MATLAB 함수 및 메서드를 구현하려면 먼저 timeseries 객체를 생성하여 데이터를 저장해야 합니다. timeseries 객체 생성자 구문은 timeseries를 참조하십시오.

생성자 사용에 대한 예제는 시계열 객체 생성하기 항목을 참조하십시오.

시계열 속성

모든 timeseries 객체 속성에 대한 설명은 timeseries를 참조하십시오. Data 속성, IsTimeFirst 속성, Name 속성, Quality 속성, Time 속성을 생성자의 입력 인수로 지정할 수 있습니다. 다른 속성을 할당하려면 set 함수 또는 점 표기법을 사용하십시오.

참고

명령줄에서 속성 정보를 가져오려면 MATLAB 프롬프트에 help timeseries/tsprops를 입력하십시오.

timeseries 객체 속성 편집에 대한 예제는 시계열 단위 및 보간 방법 수정하기 항목을 참조하십시오.

시계열 메서드

모든 시계열 메서드에 대한 설명은 timeseries를 참조하십시오.

시계열 컬렉션 생성자

소개

MATLAB 객체 tscollection은 공통된 시간 벡터를 가진 여러 시계열을 그룹화하는 MATLAB 변수입니다. tscollection 객체에 포함된 timeseries 객체는 이 컬렉션의 멤버라고 하며, timeseries를 간편하게 분석하고 조작할 수 있는 여러 메서드를 가지고 있습니다.

시계열 컬렉션 생성자 구문

timeseries 객체 컬렉션에서 수행하기 위해 특별히 고안된 MATLAB 메서드를 구현하려면 먼저 tscollection 객체를 생성하여 데이터를 저장해야 합니다.

다음 표에는 tscollection 생성자를 사용할 때 입력하는 구문들이 요약되어 있습니다. 이 생성자 사용에 대한 예제는 시계열 컬렉션 객체 생성하기 항목을 참조하십시오.

시계열 컬렉션 구문 설명

구문

설명

tsc = tscollection(ts)

하나 이상의 timeseries 객체가 포함된 tscollection 객체 tsc를 생성합니다.

ts 인수는 다음 중 하나일 수 있습니다.

  • MATLAB 작업 공간의 단일 timeseries 객체

  • MATLAB 작업 공간의 timeseries 객체로 구성된 셀형 배열

timeseries 객체는 tscollection에서 동일한 시간 벡터를 공유합니다.

tsc = tscollection(Time)

시간 벡터 Time이 포함된 빈 tscollection 객체를 생성합니다.

시간 값이 날짜 문자열이면 Time을 날짜 문자열로 구성된 셀형 배열로 지정해야 합니다.

tsc = tscollection(Time, TimeSeries, 'Parameter', Value, ...)

Time 인수와 TimeSeries 인수 다음에 선택적으로 다음 파라미터-값 쌍을 입력합니다.

시계열 컬렉션 속성

다음 표에는 tscollection 객체 속성이 나열되어 있습니다. Name 속성, Time 속성, TimeInfo 속성을 tscollection 생성자의 입력 인수로 지정할 수 있습니다.

시계열 컬렉션 속성 설명

속성

설명

Name

tscollection 객체 이름으로, 문자열로 입력됩니다. 이 이름은 MATLAB 작업 공간에 있는 tscollection 변수의 이름과 다를 수 있습니다.

Time

시간 값으로 구성된 벡터입니다.

TimeInfo.StartDate가 비어 있는 경우, 숫자형 Time 값은 0을 기준으로, 지정된 단위로 측정됩니다. TimeInfo.StartDate가 정의되어 있는 경우, 시간 값은 StartDate를 기준으로, 지정된 단위로 측정된 날짜 문자열을 나타냅니다.

Time의 길이는 각 tscollection 멤버에 있는 Data 속성의 첫 번째 차원 또는 마지막 차원과 일치해야 합니다.

TimeInfo

다음 필드를 사용하여 Time에 대한 문맥 정보를 저장합니다.

  • Units — 값 'weeks', 'days', 'hours', 'minutes', 'seconds', 'milliseconds', 'microseconds', 'nanoseconds'를 갖는 시간 단위입니다.

  • Start — 시작 시간입니다.

  • End — 종료 시간입니다(읽기 전용).

  • Increment — 연속한 두 개의 시간 값 사이의 간격입니다. 시간이 균일하게 샘플링되지 않으면 증분은 NaN입니다.

  • Length — 시간 벡터의 길이입니다(읽기 전용).

  • Format — 날짜 문자열 표시 형식을 정의하는 문자열입니다. 자세한 내용은 MATLABdatestr 함수 도움말 페이지를 참조하십시오.

  • StartDate — 기준 날짜를 정의하는 날짜 문자열입니다. 자세한 내용은 MATLAB setabstime 함수 도움말 페이지를 참조하십시오.

  • UserData — 추가적인 사용자 정의 정보를 저장합니다.

시계열 컬렉션 메서드

일반 시계열 컬렉션 메서드.  다음 메서드를 사용하여 객체 속성을 쿼리 및 설정하고 데이터를 플로팅합니다.

속성 쿼리 메서드

메서드

설명

get

tscollection 객체 속성값을 쿼리합니다.

isempty

tscollection 객체가 비어 있는 경우 true입니다.

length

시간 벡터의 길이를 반환합니다.

plot

컬렉션의 시계열을 플로팅합니다.

set

tscollection 속성값을 설정합니다.

size

tscollection 객체의 크기를 반환합니다.

데이터 및 시간 조작 메서드.  다음 메서드를 사용하여 데이터 샘플을 추가하거나 삭제하고, tscollection 객체를 조작합니다.

데이터 및 시간 조작 메서드

메서드

설명

addts

timeseries 객체를 tscollection 객체에 추가합니다.

addsampletocollection

tscollection 객체에 데이터 샘플을 추가합니다.

delsamplefromcollection

tscollection 객체에서 하나 이상의 데이터 샘플을 삭제합니다.

getabstime

tscollection 객체에서 날짜-문자열 시간 벡터를 셀형 배열로 추출합니다.

getsampleusingtime

기존 tscollection 객체에서 데이터 샘플을 새 tscollection 객체로 추출합니다.

gettimeseriesnames

tscollection 객체의 시계열 이름으로 구성된 셀형 배열을 반환합니다.

horzcat

tscollection 객체의 가로 결합입니다. 시간 벡터가 동일한 여러 timeseries 객체를 하나의 시계열 컬렉션으로 결합합니다.

removets

tscollection 객체에서 하나 이상의 timeseries 객체를 제거합니다.

resample

새로운 시간 벡터를 사용하여 tscollection 객체의 데이터를 선택하거나 보간합니다.

setabstime

tscollection 객체의 시간 벡터에 있는 시간 값을 날짜 문자열로 설정합니다.

settimeseriesnames

tscollection에서 선택한 timeseries 객체의 이름을 변경합니다.

vertcat

tscollection 객체의 세로 결합입니다. 시간 차원을 기준으로 여러 tscollection 객체를 결합합니다.