首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用Savitzky-Golay光滑系数计算导数

如何利用Savitzky-Golay光滑系数计算导数
EN

Stack Overflow用户
提问于 2010-08-26 08:19:22
回答 1查看 7.6K关注 0票数 7

可以使用Savitzky-Golay平滑滤波器来计算系数,从而通过将系数应用于相邻的值来计算平滑的y值。平滑的曲线看起来很棒。

根据论文,这些系数也可以用来计算5阶以下的导数。需要将系数计算参数ld设置为导数的阶数。对于一阶导数,适当的设置是ld=1,导数的值是累加和除以采样间隔h。

我的问题是:如何使用所获得的系数来计算累积和?导数是如何计算的?有没有样例代码?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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。

因此,在导数计算中:

代码语言:javascript
复制
dY/dx = a1/h; and d2Y/dx2 = 2a2/h^2.

其中,a1,a2是使用在相应导数上计算的系数对y的平滑值。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3571222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档