7

Savitzky-Golay 平滑化フィルターを使用して係数を計算し、係数を隣接する値に適用して平滑化された y 値を計算できます。滑らかな曲線が見栄えがします。

論文によると、係数は 5 次までの導関数の計算にも使用できます。係数計算パラメータ ld は導関数の次数に設定する必要があります。1 次導関数の場合、適切な設定は ld=1 であり、導関数の値は累積和をサンプリング間隔 h で割ったものです。

私の質問は次のとおりです。得られた係数を使用して累積合計を計算する方法は? 導関数はどのように計算されますか? サンプルコードはありますか?

4

1 に答える 1

3

Savitzky-Golay 平滑化フィルターを使用して導関数を計算するには、多項式係数の計算にパラメーター b があり、値 b[derivative] を 1.0 に設定する必要があります。配列 be は LU 分解呼び出しで使用されます。

微分を正しく行うための鍵は、多項式 Y = a0 + a1 * z + a2 * z^2 + ... + ak * z^k を理解することです。値 a0、a1、a2、...、ak は、実際には移動ウィンドウ内の平滑化された値 z = (x - x0) / h であり、移動ウィンドウの中心点に対して、x であるため z = 0 と仮定できます。 = x0。

したがって、微分計算では次のようになります。

dY/dx = a1/h; and d2Y/dx2 = 2a2/h^2.

ここで、a1、a2 は、対応する導関数で計算された係数を使用して y を平滑化した値です。

于 2010-08-27T06:10:29.787 に答える