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

isregular

타임테이블에 있는 시간값이 규칙적인지 확인

설명

예제

TF = isregular(TT)는 타임테이블 TT의 행 시간값이 규칙적일 경우 1(true)을 반환합니다. 그렇지 않으면, 0(false)을 반환합니다. 행 시간값은 고정된 시간 스텝만큼 단조 증가하거나 단조 감소하는 경우 규칙적입니다. 예를 들어, 연속적인 행 시간값의 차이가 항상 1초이면 규칙적인 시간값입니다.

예제

TF = isregular(TT,unit)은 행 시간값이 unit으로 지정된 달력 기간 단위에 대해 규칙적인 경우 1(true)을 반환합니다. 예를 들어, 연도 및 월 성분이 그 달에 대해 규칙적인 datetime형 값인 행 시간값이고 unit'month'이면 isregular1을 반환합니다.

예제

또한, [TF,dt] = isregular(___)는 행 시간값 사이의 고정된 시간 스텝인 dt를 반환합니다. TT가 규칙적이면 dt는 duration형이거나 calendarDuration형입니다. TT가 규칙적이지 않으면 dtNaN 값입니다.

예제

모두 축소

월별 시간 벡터를 사용하여 타임테이블을 생성합니다. 이 타임테이블이 시간에 대해 규칙적인지 확인한 다음, 월에 대해 규칙적인지 확인합니다.

행 시간값이 2016년의 처음 다섯 달인 타임테이블을 만듭니다. 월별 주가를 테이블 변수로 추가합니다.

StockPrice = [109.0;107.82;113.17;128.01;116];
M = timetable(datetime(2016,1:5,3)',StockPrice)
M=5×2 timetable
       Time        StockPrice
    ___________    __________

    03-Jan-2016         109  
    03-Feb-2016      107.82  
    03-Mar-2016      113.17  
    03-Apr-2016      128.01  
    03-May-2016         116  

M이 규칙적인 타임테이블인지 확인합니다.

TF = isregular(M)
TF = logical
   0

처음 다섯 달의 일수가 각각 다르기 때문에 M은 규칙적이지 않습니다. diff 함수를 사용하여 M에서 연속적인 시간 사이의 시간 스텝 차분을 계산할 수 있습니다. 차분은 duration형으로, 시간 스텝을 시, 분, 초로 표시하는 형식으로 지정됩니다.

D = diff(M.Time)
D = 4x1 duration array
   744:00:00
   696:00:00
   744:00:00
   720:00:00

'month'를 측정 단위로 지정하여 M이 월에 대해 규칙적인지 확인합니다.

TF = isregular(M,'months')
TF = logical
   1

타임테이블을 생성합니다. 타임테이블이 규칙적인지 확인하고, 규칙적인 경우 시간 스텝의 크기를 반환합니다.

Time = [minutes(0):minutes(15):minutes(60)]';
Pulse = [72 75 80 73 69]';
TT = timetable(Time,Pulse)
TT=5×2 timetable
     Time     Pulse
    ______    _____

    0 min      72  
    15 min     75  
    30 min     80  
    45 min     73  
    60 min     69  

[TF,dt] = isregular(TT)
TF = logical
   1

dt = duration
   15 min

TT는 규칙적인 타임테이블입니다.

입력 인수

모두 축소

입력 타임테이블입니다.

달력 기간 단위로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. isregularTT의 행 시간값이 unit으로 지정된 달력 단위에 대해 규칙적인지 확인합니다. 다음 표에는 사용자가 지정할 수 있는 달력 기간 단위가 나열되어 있습니다.

시간 단위

설명

'years'

연도에 대해 규칙적임

'quarters'

사분기에 대해 규칙적임

'months'

월에 대해 규칙적임

'weeks'

주에 대해 규칙적임

'days'

일에 대해 규칙적임

'time'(디폴트 값)

시간에 대해 규칙적임

출력 인수

모두 축소

행 시간값의 규칙성으로, 행 시간값이 규칙적이면 논리값 1로 반환되고 행 시간값이 규칙적이지 않으면 논리값 0으로 반환됩니다.

행 시간값 사이의 시간 스텝으로, duration형이나 calendarDuration형으로 반환됩니다. 타임테이블이 규칙적이지 않으면 dtNaN 값입니다.

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

    stime = datetime(2019,1,31);
    tstep = calmonths(1);
    TT = timetable('Size',[3 1],'VariableTypes',{'double'},...
                   'TimeStep',tstep,'StartTime',stime);
    tf = isregular(TT,'month')
    
    tf =
    
      logical
    
       0
    

    그밖에도 DST(일광 절약 시간제)의 전환이나 윤초인 행 시간값으로 인해 불규칙성이 발생하는 경우도 있습니다. 다음 표에서는 예기치 않게 불규칙적인 타임테이블을 생성할 수 있는 행 시간값과 시간 스텝을 보여줍니다.

    행 시간값

    시간 스텝

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

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

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

    달력상의 연수

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

    윤초인 모든 행 시간값(행 시간값이 표준 시간대가 UTCLeapSecond 표준 시간대인 datetime형 값으로 지정된 경우)

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

R2016b에 개발됨