Main Content

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

isregular

시간 또는 달력 단위와 관련해 타임테이블이 규칙적인지 확인

설명

예제

tf = isregular(TT,timeComponent)는 타임테이블 TT가 지정된 시간 또는 달력 단위에 대해 규칙적이면 1(true)을 반환합니다. 그렇지 않으면, 0(false)을 반환합니다. 타임테이블은 행 시간값이 동일한 시간 스텝만큼 단조 증가하거나 단조 감소하는 경우 규칙적입니다.

  • TT의 행 시간값이 datetime 값인 경우, 이들 값 사이의 시간 스텝은 달력 단위(예: 월)에 대해서는 규칙적이지만 정확한 경과 시간에 대해서는 불규칙적일 수 있습니다. timeComponent 입력 인수를 사용하여 시간 또는 달력 단위를 지정합니다.

    예를 들어, 행 시간값이 규칙적인 월별 datetime 값이고 timeComponent'month'이면 isregular1을 반환합니다. 그러나 timeComponent'time'이면 서로 다른 달이 서로 다른 시간 길이를 나타낼 수 있으므로 isregular0을 반환합니다.

  • 행 시간값이 duration 값인 경우, timeComponent'time'으로 지정하거나 다음 구문을 사용하십시오. duration 데이터형은 달력 단위를 사용하여 시간을 나타내지 않습니다.

예제

tf = isregular(TT)isregular(TT,'time')과 동일합니다.

예제

[tf,dt] = isregular(___)는 행 시간값 사이의 시간 스텝 dt를 반환합니다. TT가 규칙적이면 dtduration 값이거나 calendarDuration 값입니다. TT가 규칙적이지 않으면 dtNaN 값입니다.

예제

모두 축소

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

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

StockPrice = [109.0;107.82;113.17;128.01;116];
M = timetable(datetime(2016,1:5,3)',StockPrice)
M=5×1 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
   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×1 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의 행 시간값이 timeComponent로 지정된 시간 또는 달력 단위에 대해 규칙적인지 확인합니다. 다음 표에는 사용자가 지정할 수 있는 단위가 나와 있습니다.

시간 또는 달력 단위

설명

'years'

연도에 대해 규칙적임

'quarters'

사분기에 대해 규칙적임

'months'

월에 대해 규칙적임

'weeks'

주에 대해 규칙적임

'days'

일에 대해 규칙적임

'time'(디폴트 값)

시간에 대해 규칙적임

출력 인수

모두 축소

true 또는 false로, 행 시간값이 규칙적이면 논리값 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형 값으로 지정된 경우).달력상의 일수 또는 월수.

    윤초인 모든 행 시간값(행 시간값이 표준 시간대가 UTCLeapSeconds 표준 시간대인 datetime형 값으로 지정된 경우). 윤초 목록은 leapseconds를 참조하십시오.

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

확장 기능

R2016b에 개발됨