exponenta event banner

detrend

Удаление полиномиального тренда

Описание

пример

y = detrend(x) удаляет наилучшую прямую линию из данных в x.

  • Если x является вектором, то detrend вычитает тренд из элементов x.

  • Если x является матрицей, то detrend работает с каждым столбцом отдельно, вычитая каждый тренд из соответствующего столбца.

пример

y = detrend(x,n) удаляет nТренд полинома й степени. Например, когда n = 0, detrend удаляет среднее значение из x. Когда n = 1, detrend удаляет линейный тренд, эквивалентный предыдущему синтаксису. Когда n = 2, detrend удаляет квадратичный тренд.

пример

y = detrend(x,n,bp) удаляет непрерывный кусочный тренд с сегментами, определяемыми точками разрыва bp.

y = detrend(___,nanflag) указывает, как NaN значения обрабатываются для любого из предыдущих синтаксисов. Например, detrend(x,'omitnan') удаляет NaN значения перед вычислением тренда, в то время как detrend(x,'includenan') включает их (по умолчанию).

пример

y = detrend(___,Name,Value) задает дополнительные параметры, используя одну или несколько пар имя-значение. Например, detrend(x,1,bp,'Continuous',false) указывает, что подогнанный тренд может иметь разрывы.

Примеры

свернуть все

Создайте вектор данных и удалите непрерывный линейный тренд. Постройте график исходных данных, отклоненных данных и линейного тренда.

t = 0:20;
x = 3*sin(t) + t;
y = detrend(x);
plot(t,x,t,y,t,x-y,':k')
legend('Input Data','Detrended Data','Trend','Location','northwest') 

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

Создайте вектор данных и удалите непрерывный квадратичный тренд. Постройте график исходных данных, искаженных данных и тренда.

t = 0:20;
x = 20*sin(t) + t.^2;
y = detrend(x,2);
plot(t,x,t,y,t,x-y,':k')
legend('Input Data','Detrended Data','Trend','Location','northwest') 

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

Создайте вектор данных и удалите кусочно-линейный тренд, используя точку разрыва в 0. Укажите, что результирующие выходные данные могут быть прерывистыми. Постройте график исходных данных, искаженных данных и тренда.

t = -10:10;
x = t.^3 + 6*t.^2 + 4*t + 3;
bp = 0;
y = detrend(x,1,bp,'SamplePoints',t,'Continuous',false);
plot(t,x,t,y,t,x-y,':k')
legend('Input Data','Detrended Data','Trend','Location','northwest') 

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

Входные аргументы

свернуть все

Входной массив, заданный как вектор, матрица или многомерный массив. Когда x является многомерным массивом, detrend работает с колоннами по всем размерам.

Типы данных: double | single
Поддержка комплексного номера: Да

Степень полинома, заданная как неотрицательный скаляр целого числа или как 'constant' (эквивалентно 0) или 'linear' (эквивалентно 1).

Точки разрыва для определения кусочных сегментов данных, указанные как вектор, содержащий одно из следующих значений:

  • Значения точек выборки, указывающие местоположение точек разрыва. Значения точек выборки содержатся в векторе точек выборки по умолчанию [1 2 3 ...] или в векторе, указанном 'SamplePoints' параметр.

  • Логические значения, где логический 1 (true) указывает точку разрыва в соответствующем элементе входных данных. Если bp содержит логические значения, длина которых должна совпадать с длиной точек выборки.

Точки разрыва полезны, если требуется вычислить отдельные тренды для различных сегментов данных.

Типы данных: double | single | datetime | duration | logical

NaN условие, указанное как одно из следующих значений:

  • 'includenan' - Включить NaN значения во входных данных при вычислении тренда.

  • 'omitnan' - Игнорировать все NaN значения на входе при вычислении тренда.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: y = detrend(x,'SamplePoints',1:10:1000)

Ограничение непрерывности, указанное как пара, разделенная запятыми, состоящая из 'Continuous' и одно из следующих:

  • true - Подогнанный тренд должен быть непрерывным везде.

  • false - Подогнанный тренд может содержать разрывы.

Точки выборки, указанные как пара, разделенная запятыми, состоящая из 'SamplePoints' и вектор. Точки выборки представляют расположение входных данных на оси X, и они должны быть уникальными и отсортированными.

Типы данных: double | single | datetime | duration

Расширенные возможности

.
Представлен до R2006a