| MATLAB Function Reference | ![]() |
表示
y = detrend(x) y = detrend(x,'constant') y = detrend(x,'linear',bp)
詳細
detrend は、ベクトル、または、行列から平均値、または、線形トレントを除去します。これらは、通常、FFTの前処理で使用します。
は、ベクトルy = detrend(x)
xから最適な直線近似を行い、それを除去し、結果をyに出力します。xが行列の場合、detrendは、各列単位に処理します。
は、ベクトル y = detrend(x,'constant')
x から平均値を除去するか、または、x が行列の場合、行列の列から平均値を除去します。
は、ベクトル y = detrend(x,'linear',bp)
x から、連続的に、区分的線形トレンドを除去します。または、 xが行列の場合、各列から除去します。ベクトル bp は、隣り合った線形セグメント間のブレークポイントのインデックスを含んでいます。2つのセグメント間のブレークポイントは、2つのセグメントが共有するデータ点として定義されます。

detrend(x,'linear') は、ブレークポイントベクトルを定義していなく、detrend(x)と同じです。
例題
sig = [0 1 -2 1 0 1 -2 1 0]; % 線形トレンドをもたない信号
trend = [0 1 2 3 4 3 2 1 0]; % 2つのセグメントの線形トレンド
x = sig+trend; % トレンドを付加した信号
y = detrend(x,'linear',5) % 5番目の要素をブレークポイントとします。
y =
-0.0000
1.0000
-2.0000
1.0000
0.0000
1.0000
-2.0000
1.0000
-0.0000
ブレークポイントを、5番目の要素で設定します。この点は、2つのセグメントが共有する点です。
アルゴリズム
detrend は、データに対する直線の最小二乗近似(または、区分的線形トレンドから構成するライン)を計算し、データから結果求まる関数を引きます。直線近似の方程式を得るには、polyfitを使います。
参考
| det | diag | ![]() |