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 | ![]() |