detrend

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

Описание

пример

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

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

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

пример

y = detrend(x,n) удаляет nполиномиальный тренд I-й степени. Для примера, когда 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