Удалите линейные тенденции
y = detrend (x)
y = detrend (x, 'постоянный')
y = detrend (x, 'линейный', BP)
detrend
удаляет среднее значение или линейную тенденцию от вектора или матрицы, обычно для обработки БПФа.
y = detrend(x)
удаляет лучшее прямолинейное соответствие из векторного x
и возвращает его в y
. Если x
является матрицей, detrend
удаляет тенденцию из каждого столбца.
y = detrend(x,'constant')
удаляет среднее значение из векторного x
или, если x
является матрицей из каждого столбца матрицы.
y = detrend(x,'linear',bp)
удаляет непрерывную, кусочную линейную тенденцию из векторного x
или, если x
является матрицей из каждого столбца матрицы. Векторный bp
содержит индексы точек останова между смежными линейными сегментами. Точка останова между двумя сегментами задана как точка данных, которую совместно используют эти два сегмента.
detrend(x,'linear')
, без заданного вектора точки останова, совпадает с detrend(x)
.
sig = [0 1 -2 1 0 1 -2 1 0]; % signal with no linear trend trend = [0 1 2 3 4 3 2 1 0]; % two-segment linear trend x = sig+trend; % signal with added trend y = detrend(x,'linear',5) % breakpoint at 5th element y = -0.0000 1.0000 -2.0000 1.0000 0.0000 1.0000 -2.0000 1.0000 -0.0000
Обратите внимание на то, что точка останова задана, чтобы быть Пятым элементом, который является точкой данных, совместно использованной этими двумя сегментами.
detrend
вычисляет припадок наименьших квадратов прямой линии (или составная строка для кусочных линейных тенденций) к данным и вычитает получившуюся функцию из данных. Чтобы получить уравнение прямолинейного соответствия, используйте polyfit
.