detrend

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

Описание

пример

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

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

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

пример

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

пример

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 object. The axes object 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 object. The axes object 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 object. The axes object 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' параметр.

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

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

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

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

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

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

Аргументы name-value

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