Main Content

isregular

시간 또는 달력 단위와 관련해 입력 시간값이 규칙적인지 확인

설명

예제

tf = isregular(D)D가 시간에 대해 규칙적인 경우 1(true)을 반환합니다. 그렇지 않으면, 0(false)을 반환합니다. 입력 인수 D는 자신의 시간값이 고유한 시간 스텝으로 순단조 증가하거나 감소하는 시퀀스로 되어 있는 경우 규칙적입니다.

입력 인수 D는 다음 중 하나일 수 있습니다.

  • datetime형 벡터.

  • duration형 벡터.

  • 타임테이블. 해당 행 시간값으로 구성된 벡터가 규칙적인 경우 규칙적입니다.

이 구문은 isregular(D,'time')과 동일합니다.

예제

tf = isregular(D,timeUnit)D가 지정된 시간 또는 달력 단위에 대해 규칙적인지 여부를 확인합니다.

예를 들어, D는 월에 대해서는 규칙적이지만, 월마다 일수가 다르기 때문에 정확한 경과 시간에 대해서는 불규칙적일 수 있습니다. D가 월에 대해 규칙적인지 확인하려면 timeUnit'months'로 지정하십시오.

예제

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

예제

모두 축소

seconds 함수를 사용하여 duration형 벡터를 만듭니다.

D = seconds(1:5)
D = 1x5 duration
   1 sec   2 sec   3 sec   4 sec   5 sec

isregular 함수를 사용하여 D를 테스트합니다. D는 연속된 요소 사이의 시간 구간이 항상 같으므로 규칙적입니다.

tf = isregular(D)
tf = logical
   1

D의 마지막 요소를 변경합니다.

D(end) = seconds(10)
D = 1x5 duration
    1 sec    2 sec    3 sec    4 sec   10 sec

D는 더 이상 규칙적이지 않습니다.

tf = isregular(D)
tf = logical
   0

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

먼저, 행 시간값이 2016년의 처음 다섯 달(datetime 값으로 저장됨)인 타임테이블을 만듭니다. 월별 주가를 타임테이블 변수로 추가합니다.

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형 값으로, 시간 스텝을 시, 분, 초로 표시하는 형식으로 지정됩니다.

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

MM의 행 시간값 사이의 시간 구간이 항상 달력상의 월수 1개이므로 월에 대해 규칙적입니다.

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는 규칙적인 타임테이블입니다.

입력 인수

모두 축소

입력 변수로, 타임테이블, datetime형 벡터 또는 duration형 벡터로 지정됩니다.

시간 또는 달력 단위로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. isregularD의 연속된 시간값이 timeUnit로 지정된 시간 또는 달력 단위에 대해 규칙적인지 확인합니다. 다음 표에는 사용자가 지정할 수 있는 단위가 나와 있습니다.

시간 또는 달력 단위

설명

'years'

연도에 대해 규칙적임

'quarters'

사분기에 대해 규칙적임

'months'

월에 대해 규칙적임

'weeks'

주에 대해 규칙적임

'days'

일에 대해 규칙적임

'time'(디폴트 값)

시간에 대해 규칙적임

  • Ddatetime형 벡터이거나 행 시간값이 datetime형 값인 타임테이블인 경우, 시간 스텝은 달력 단위(예: 월)에 대해서는 규칙적이지만 정확한 경과 시간에 대해서는 불규칙적일 수 있습니다.

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

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

출력 인수

모두 축소

true 또는 false로, 입력값이 규칙적이면 논리값 1로 반환되고 규칙적이지 않으면 논리값 0으로 반환됩니다.

연속된 시간값 사이의 시간 스텝으로, duration형 또는 calendarDuration형 스칼라로 반환됩니다. 입력값이 규칙적이지 않으면 dtNaN 값입니다.

  • 규칙적인 시간 스텝을 지정하여 타임테이블 또는 datetime형 벡터를 만들었는데도 결과가 불규칙적인 경우가 있습니다. 이러한 결과는 달력 시간 단위를 사용하여 시간 스텝을 지정할 때 불규칙적인 스텝을 발생시키는 시간값이 포함되어 있는 경우에 발생할 수 있습니다. 예를 들어, 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(일광 절약 시간제)의 전환이나 윤초인 datetime형 값으로 인해 불규칙성이 발생하는 경우도 있습니다. 다음 표에서는 예기치 않게 불규칙적인 결과를 생성할 수 있는 날짜, 시간 및 시간 스텝을 보여줍니다.

    행 시간값

    시간 스텝

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

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

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

    달력상의 연수.

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

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

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

확장 기능

버전 내역

R2016b에 개발됨