detrend

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

Описание

пример

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

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

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

пример

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

пример

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

пример

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') 

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

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') 

Создайте вектор данных и удалите кусочный линейный тренд с помощью точки останова в 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') 

Входные параметры

свернуть все

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

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

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

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

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

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

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

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

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

Задайте дополнительные разделенные запятой пары 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