可以使用Savitzky-Golay平滑滤波器来计算系数,从而通过将系数应用于相邻的值来计算平滑的y值。平滑的曲线看起来很棒。
根据论文,这些系数也可以用来计算5阶以下的导数。需要将系数计算参数ld设置为导数的阶数。对于一阶导数,适当的设置是ld=1,导数的值是累加和除以采样间隔h。
我的问题是:如何使用所获得的系数来计算累积和?导数是如何计算的?有没有样例代码?
发布于 2010-08-27 14:10:30
为了使用Savitzky-Golay平滑滤波器计算导数,多项式系数计算具有参数b,值b导数必须设置为1.0,数组be将用于LU分解调用。
正确获得导数的关键是理解多项式公式:y= a0 + a1 *z+ a2 * z^2 + ... + ak * z^k。值a0,a1,a2,...,ak实际上是移动窗口内的平滑值,z= (x - x0 )/ h,对于移动窗口的中心点,我们可以假设z=0,因为x=x0。
因此,在导数计算中:
dY/dx = a1/h; and d2Y/dx2 = 2a2/h^2.其中,a1,a2是使用在相应导数上计算的系数对y的平滑值。
https://stackoverflow.com/questions/3571222
复制相似问题