原文地址:多项式平滑求导作者:逝水流年yd 求得savitzky-golay多项式滤波公式的拟合参数矢量a后,就可以利用滤波窗口的2m+1个数据对窗口中心点(i=0)求信号的p阶导数,对 求其i的导数,当i=0时, 只需求a即可 matlab程序: f nction daosh %信号求导函数 load xdata %xdata=[x1 x2 ...xm] %xdata=[0.158 0.240 0.375 0.460 0.586 0.675 0.720 0.736 0.670 0.585 0.455 0.313 0.214 0.110 0.067 0.037] n=inp t( 窗口的点数,应为奇数.n= ) t=inp t( 多项式阶数.t= ) k=t+1; for i=1:n %系数矩阵的获得 for j=1:k a(i,j)=(-(n-1)2+i-1)^(j-1); end end a c=(a *a)^-1*a 求导 l=inp t( 拟求导数的阶数,l= ) cc=c(l+1,:) m=length(x) a1=(n-1)2+1 b1=m-(n-1)2 xnew(m)=0 for i=a1:b1 i a=i-(n-1)2; b=i+(n-1)2;