Main Content

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

detrend

다항식 추세 제거

설명

예제

D = detrend(A)A의 데이터에서 최적 피팅 직선을 제거하고 남은 데이터를 반환합니다.

  • A가 벡터이면 detrendA의 요소에서 추세를 뺍니다.

  • A가 행렬이면 detrend는 열마다 별개로 연산을 수행하여 A의 대응하는 열에서 각 추세를 뺍니다.

  • A가 다차원 배열이면 detrend는 모든 차원에서 열 방향 연산을 수행하여 A의 대응하는 열에서 각 추세를 뺍니다.

  • Asingle형 또는 double형의 숫자형 변수를 포함한 테이블 또는 타임테이블인 경우 detrendA의 각 변수에 대해 개별적으로 연산을 수행하여 A에 대응하는 값에서 각 추세를 뺍니다.

예제

D = detrend(A,n)n차 다항식 추세를 제거합니다. 예를 들어, n = 0이면 detrendA에서 평균값을 제거합니다. n = 1이면 detrend는 선형 추세를 제거합니다. 이는 위 구문과 동일합니다. n = 2이면 detrend는 2차 추세를 제거합니다.

예제

D = detrend(A,n,bp)는 벡터 bp에 지정된 절점으로 정의된 세그먼트를 사용하여 연속 조각별 추세를 제거합니다.

D = detrend(___,nanflag)는 위에 열거된 구문에 대해 ANaN 값을 포함할지 또는 생략할지 여부를 지정합니다. 예를 들어, detrend(A,"omitnan")은 추세를 계산할 때 NaN 값을 무시합니다. 기본적으로 detrendNaN 값을 포함합니다.

예제

D = detrend(___,Name,Value)는 하나 이상의 이름-값 인수를 사용하여 추가 파라미터를 지정합니다. 예를 들어, detrend(A,1,bp,"Continuous",false)는 피팅된 추세가 불연속을 가질 수 있음을 지정합니다.

예제

모두 축소

데이터로 구성된 벡터를 만들고 연속 선형 추세를 제거합니다. 원래 데이터, 추세가 제거된 데이터 및 선형 추세를 플로팅합니다.

t = 0:20;
A = 3*sin(t) + t;
D = detrend(A);

plot(t,A)
hold on
plot(t,D)
plot(t,A-D,":k")
legend("Input Data","Detrended Data","Trend")

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent Input Data, Detrended Data, Trend.

데이터로 구성된 테이블을 만들고 테이블에서 지정된 변수에서 연속 2차 추세를 제거합니다. 원래 데이터, 추세가 제거된 데이터 및 추세를 플로팅합니다.

t = (-4:4)';
trend = (t.^2 + 4*t + 3);
sig = [0 1 -2 1 0 1 -2 1 0]';
x = sig + trend;
T = table(t,trend,sig,x);
T = detrend(T,2,"DataVariables","x","SamplePoints","t","ReplaceValues",false)
T=9×5 table
    t     trend    sig    x     x_detrended
    __    _____    ___    __    ___________

    -4      3       0      3     -0.12121  
    -3      0       1      1       0.9697  
    -2     -1      -2     -3      -1.9654  
    -1      0       1      1       1.0736  
     0      3       0      3      0.08658  
     1      8       1      9       1.0736  
     2     15      -2     13      -1.9654  
     3     24       1     25       0.9697  
     4     35       0     35     -0.12121  

plot(T,"t","x")
hold on
plot(T,"t","x_detrended")
plot(T.t,T.x-T.x_detrended,":k")
legend("Input Data","Detrended Data","Trend","Location","northwest")

Figure contains an axes object. The axes object with xlabel t contains 3 objects of type line. These objects represent Input Data, Detrended Data, Trend.

데이터로 구성된 벡터를 만들고 절점 0을 사용하여 조각별 선형 추세를 제거합니다. 결과로 생성되는 출력값이 불연속적일 수 있음을 지정합니다. 원래 데이터, 추세가 제거된 데이터 및 추세를 플로팅합니다.

t = -10:10;
A = t.^3 + 6*t.^2 + 4*t + 3;
bp = 0;
D = detrend(A,1,bp,"SamplePoints",t,"Continuous",false);

plot(t,A)
hold on
plot(t,D)
plot(t,A-D,":k")
legend("Input Data","Detrended Data","Trend","Location","northwest")

Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent Input Data, Detrended Data, Trend.

입력 인수

모두 축소

입력 데이터로, 벡터, 행렬, 다차원 배열, table형 또는 timetable형으로 지정됩니다.

  • A가 벡터이면 detrendA의 요소에서 추세를 뺍니다.

  • A가 행렬이면 detrend는 열마다 별개로 연산을 수행하여 A의 대응하는 열에서 각 추세를 뺍니다.

  • A가 다차원 배열이면 detrend는 모든 차원에서 열 방향 연산을 수행하여 A의 대응하는 열에서 각 추세를 뺍니다.

  • Asingle형 또는 double형의 숫자형 변수를 포함한 테이블 또는 타임테이블인 경우 detrendA의 각 변수에 대해 개별적으로 연산을 수행하여 A에 대응하는 값에서 각 추세를 뺍니다.

데이터형: double | single
복소수 지원 여부:

다항식 차수로, 음이 아닌 정수 스칼라 또는 "constant"(0과 동일)나 "linear"(1과 동일)로 지정됩니다.

데이터의 조각별 세그먼트를 정의하기 위한 절점으로, 다음 중 하나가 포함된 벡터로 지정됩니다.

  • 절점의 위치를 나타내는 샘플 점 값. 샘플 점 값은 디폴트 샘플 점 벡터 [1 2 3 ...]에 포함되거나 SamplePoints 이름-값 인수로 지정됩니다.

  • 논리적 1(true)이 입력 데이터의 대응하는 요소에 있는 절점을 나타내는 논리값. bp가 논리값을 포함하는 경우, 샘플 점과 길이가 동일해야 합니다.

절점은 데이터의 서로 다른 세그먼트마다 별도로 추세를 계산하고자 할 때 유용합니다.

데이터형: double | single | datetime | duration | logical

누락값 조건으로, 다음 값 중 하나로 지정됩니다.

  • "includemissing" 또는 "includenan" — 추세를 계산할 때 ANaN 값을 포함합니다. 연산 차원의 요소가 하나라도 NaN인 경우 이에 대응하는 D의 요소도 NaN입니다. "includemissing""includenan"은 동일하게 동작합니다.

  • "omitmissing" 또는 "omitnan" — 추세를 계산할 때 ANaN 값을 무시합니다. 연산 차원의 모든 요소가 NaN인 경우 대응하는 D의 요소는 NaN입니다. "omitmissing""omitnan"은 동일하게 동작합니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

예: D = detrend(A,SamplePoints=1:10:1000)

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: D = detrend(A,"SamplePoints",1:10:1000)

연속성 제약 조건으로, 다음 값 중 하나로 지정됩니다.

  • true — 피팅된 추세가 모든 곳에서 연속이어야 합니다.

  • false — 피팅된 추세가 불연속을 포함할 수 있습니다.

샘플 점으로, 샘플 점 값으로 구성된 벡터로 지정되거나 입력 데이터가 테이블인 경우 다음 표에 나와 있는 옵션 중 하나로 지정됩니다. 샘플 점은 데이터의 x축 위치를 나타내며, 이 샘플 점은 정렬되고 고유한 요소를 가져야 합니다. 샘플 점은 균일하게 샘플링할 필요가 없습니다. 벡터 [1 2 3 ...]이 디폴트 값입니다.

입력 데이터가 테이블이면 다음 옵션 중 하나를 사용하여 샘플 점을 테이블 변수로 지정할 수 있습니다.

인덱싱 방식예제

변수 이름:

  • string형 스칼라 또는 문자형 벡터

  • "A" 또는 'A'A라는 변수

변수 인덱스:

  • 테이블에서의 변수 위치를 나타내는 인덱스 번호

  • 논리형 벡터. 일반적으로 이 벡터는 변수의 개수와 길이가 같지만 후행 0 값 또는 false 값을 생략할 수 있음

  • 3 — 테이블의 세 번째 변수

  • [false false true] — 세 번째 변수

함수 핸들:

  • 테이블 변수를 입력값으로 받고 논리형 스칼라를 반환하는 함수 핸들

  • @isnumeric — 숫자형 값을 포함하는 하나의 변수

변수 유형:

  • 지정된 유형의 변수 하나를 선택하는 vartype 첨자

  • vartype("numeric") — 숫자형 값을 포함하는 하나의 변수

참고

입력 데이터가 timetable형인 경우에는 이 이름-값 인수가 지원되지 않습니다. 타임테이블은 행 시간값으로 구성된 벡터를 샘플 점으로 사용합니다. 다른 샘플 점을 사용하려면 행 시간값이 원하는 샘플 점을 포함하도록 타임테이블을 편집해야 합니다.

예: detrend(A,"SamplePoints",0:0.1:10)

데이터형: double | single | datetime | duration

연산을 수행할 테이블 또는 타임테이블 변수로, 다음 표에 있는 옵션 중 하나로 지정됩니다. DataVariables 값은 다항식 추세를 제거할 입력 테이블 또는 타임테이블 변수를 나타냅니다.

테이블 또는 타임테이블에서 DataVariables로 지정되지 않은 다른 변수는 추세를 제거하지 않은 채 출력값으로 전달됩니다.

인덱싱 방식예제

변수 이름:

  • string형, 문자형 벡터 또는 셀형 배열

  • pattern 객체

  • "A" 또는 'A'A라는 변수

  • ["A","B"] 또는 {'A','B'}AB라는 두 개의 변수

  • "Var"+digitsPattern(1)"Var" 다음에 하나의 숫자가 오는 이름을 갖는 변수

변수 인덱스:

  • 테이블에서의 변수 위치를 나타내는 인덱스 번호

  • 숫자로 구성된 벡터

  • 논리형 벡터. 일반적으로 이 벡터는 변수의 개수와 길이가 같지만 후행 0 값 또는 false 값을 생략할 수 있음

  • 3 — 테이블의 세 번째 변수

  • [2 3] — 테이블의 두 번째 변수와 세 번째 변수

  • [false false true] — 세 번째 변수

함수 핸들:

  • 테이블 변수를 입력값으로 받고 논리형 스칼라를 반환하는 함수 핸들

  • @isnumeric — 숫자형 값을 포함하는 모든 변수

변수 유형:

  • 지정된 유형의 변수를 선택하는 vartype 첨자

  • vartype("numeric") — 숫자형 값을 포함하는 모든 변수

벡터, 행렬 또는 다차원 배열 입력 데이터에는 DataVariables가 지원되지 않습니다.

예: detrend(A,"DataVariables",["Var1" "Var2" "Var4"])

값 바꾸기 표시자로, A가 테이블 또는 타임테이블이면 다음 값 중 하나로 지정됩니다.

  • true 또는 1 — 입력 테이블 변수를 제거한 데이터를 포함하는 테이블 변수로 바꿉니다.

  • false 또는 0 — 입력 테이블 변수를 제거한 데이터를 포함하는 테이블 변수에 추가합니다.

벡터, 행렬 또는 다차원 배열 입력 데이터에는 ReplaceValues가 지원되지 않습니다.

예: detrend(A,"ReplaceValues",false)

  • detrend 함수는 데이터에서 평균이나 최적선(최소제곱 측면에서)을 뺍니다. 데이터가 테이블 형식이거나 여러 개의 데이터 열을 포함하고 있거나 테이블 또는 타임테이블이면 detrend는 각 데이터 열을 개별적으로 처리합니다.

    데이터에서 추세를 제거하면 추세와 관련한 데이터의 변동에 중점을 두고 분석을 수행할 수 있습니다. 일반적으로 선형 추세는 데이터가 규칙적으로 증가하거나 감소함을 나타냅니다. 예를 들어, 센서 드리프트로 인해 규칙적인 변위가 발생할 수 있습니다. 유의미할 수 있는 추세라도 분석 유형에 따라 추세를 제거할 때 더 나은 결과를 나타낼 수 있습니다.

    데이터에서 추세 영향을 제거하는 것이 적합한지 여부는 대개 분석 목적에 따라 다릅니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장