본문 바로가기

MATLAB/ㄴ 기타

18. 타임테이블을 결합하고 타임테이블의 데이터를 동기화하기

다양한 방법으로 타임테이블을 결합하고 해당 데이터를 동기화할 수 있습니다.

타임테이블을 세로 또는 가로로 결합할 수 있지만,

이는 타임테이블에 서로 동일한 행 시간값이나 동일한 타임테이블 변수가 포함된 경우에만 가능합니다.

행 시간값 및 타임테이블 변수가 서로 다른 타임테이블을 결합하려면 synchronize 함수를 사용하십시오. 

 

synchronize는 모든 입력 타임테이블의 모든 변수를 포함하는 타임테이블을 생성합니다.

그런 다음, 입력 타임테이블의 데이터를 출력 타임테이블의 행 시간값으로 동기화합니다. 

synchronize는 출력 타임테이블의 누락된 요소를 누락 데이터 표시자, 최근접이웃에서 복사한 값,

또는 보간된 값 중 하나로 채울 수 있습니다.

또한 synchronize는 사용자가 지정한 시간 구간별로 타임테이블 데이터를 집계할 수도 있습니다.

 


 

1) 타임테이블을 세로로 결합하기

openPricesSmall에서 타임테이블을 불러와서 세로로 결합합니다.

이 예제에서는 타임테이블 opWeek1과 opWeek2를 불러왔습니다.

이 타임테이블에는 2016년 1월 첫째 주와 둘째 주 동안 일부 주식에 대한 시가가 포함되어 있습니다.

 

두 타임테이블을 표시합니다.

 

 

타임테이블을 결합합니다. 두 타임테이블의 변수가 동일하면 타임테이블을 세로로 결합할 수 있습니다.

행 시간값은 행의 레이블을 지정하며 타임테이블 변수에 포함되지 않습니다.

참고로, 타임테이블의 행 시간값의 순서는 뒤바뀌어도 괜찮으며 간격이 규칙적이지 않아도 됩니다.

예를 들어, op에는 주말에 해당하는 요일은 포함되어 있지 않습니다.

또한 타임테이블에는 중복된 시간값이 포함될 수 있습니다. 

op에는 08-Jan-2016 09:00:00에 대한 행이 두 개가 있습니다.

 


 

2) 타임테이블을 가로로 결합하기

타임테이블을 가로로 결합할 수도 있습니다.

그렇게 하려면 두 타임테이블이 행 시간값은 동일하고 변수는 서로 달라야 합니다.

타임테이블 opOtherStocks를 표시합니다.

이 타임테이블은 opWeek1과 행 시간값은 동일하지만 다른 주식에 대한 변수를 가집니다.

 

opWeek1과 opOtherStock을 결합합니다.

두 타임테이블에서 가져온 행 시간값과 변수가 하나의 세트로 구성된 타임테이블이 출력됩니다.

 


 

3) 타임테이블을 동기화하고 누락 데이터 표시하기

서로 다른 두 개의 타임테이블에서 대기질 데이터와 날씨 측정값을 불러와서 동기화합니다.

측정 날짜의 범위는 2015년 11월 15일부터 2015년 11월 19일까지입니다.

대기질 데이터는 건물 내부의 센서에서 얻어지고, 날씨 측정값은 외부 센서에서 얻어집니다.

 

각 타임테이블의 처음 5줄을 표시합니다. 여기에는 다른 시간에 측정된 다양한 수량값이 포함되어 있습니다.

 

 

타임테이블을 동기화합니다. 출력 타임테이블 tt는 두 타임테이블의 모든 시간값을 포함합니다. 

synchronize는 tt에서 데이터 값이 없는 위치에 누락 데이터 표시자를 넣습니다.

두 입력 타임테이블에 Humidity 같이 이름이 동일한 변수가 있는 경우

synchronize는 두 변수의 이름을 모두 바꾸고 출력 타임테이블에 바뀐 두 변수 이름을 추가합니다.

 


 

4) 데이터 값을 동기화하고 보간하기

타임테이블을 동기화하고, 선형 보간으로 누락된 타임테이블 요소를 채웁니다.

두 타임테이블의 모든 시간값을 포함하는 시간 벡터로 동기화하려면 출력 시간값에 'union'을 지정하십시오.

 

 


 

5) 규칙적인 시간 간격으로 동기화하기

타임테이블을 시간별 시간 벡터로 동기화합니다.

입력 타임테이블에는 불규칙적인 행 시간값이 있었습니다.

출력 타임테이블은 시간 스텝이 1시간인 규칙적인 행 시간값을 갖습니다.

 

타임테이블을 30분 간격의 시간 스텝으로 동기화합니다.

 'regular' 입력 인수와 'TimeStep' 이름-값 쌍의 인수를 사용하여 규칙적인 시간 스텝을 지정해 보겠습니다.

 

또는 30분 간격을 갖는 시간 벡터로 타임테이블을 동기화할 수 있습니다.

 


 

6) 데이터 값을 동기화하고 집계하기

타임테이블을 동기화하고 출력 타임테이블에 있는 모든 변수의 일별 평균을 계산합니다.

 

6시간 간격으로 타임테이블을 동기화하고 각 간격의 평균을 계산합니다.

 

또는 동일한 6시간 간격을 갖는 시간 벡터를 지정합니다.

 


 

https://kr.mathworks.com/help/matlab/matlab_prog/combine-timetables-and-synchronize-their-data.html

 

타임테이블을 결합하고 타임테이블의 데이터를 동기화하기 - MATLAB & Simulink - MathWorks 한국

이 예제의 수정된 버전이 있습니다. 사용자가 편집한 내용을 반영하여 이 예제를 여시겠습니까?

kr.mathworks.com