http://www.twoeggz.com/news/172341.html
关于几种平滑滤波及其举例:
1、 smooth函数平滑处理
(1)yy=smooth(y)
利用移动平均滤波器对列向量y进行平滑处理,返回与y等长的列向量yy。移动平均滤波器的默认窗宽为5,yy中元素的计算方法如下:
yy(1)=y(1)
yy(2)=(y(1)+y(2)+y(3))/3
yy(3)=(y(1)+y(2)+y(3)+y(4)+y(5))/5
yy(4)=(y(2)+y(3)+y(4)+y(5)+y(6))/5
......
(2) yy=smooth(y,span)
用span参数指定移动平均滤波器的窗宽,函数内部会强制将span变为奇数。
(3)yy=smooth(y,method)
method参数指定平滑数据的方法,method是字符串变量,可用的字符串如下表:
method参数值 说明
moving 移动平均法(默认情况)
lowess 局部回归(加权线性最小二乘和一个一阶多项式模型)
loess 局部回归(加权线性最小二乘和一个二阶多项式模型)
sgolay Sacitzky-Golay滤波,一种广义移动平均滤波法
rlowess lowess方法的稳健形式
rloess loess方法的稳健形式
(4)yy=smooth(y,span,method)
method指定平滑方法,span指定窗宽。
2、 smoothts函数平滑处理
output=smoothts(input)
output=smoothts(input,‘b’,wsize)
output=smoothts(input,‘g’,wsize,stdev)
output=smoothts(input,‘e’,n)
输入参数input是输入数据,‘b’,‘g’,‘e’表示不同的数据平滑方法,‘b’表示盒子法(默认情况),'g'表示高斯窗方法,‘e’表示指数法。wsize指定各种数据平滑方法的窗宽,默认窗宽为5。stdev用来指定高斯方法的标准差,默认为0.65.
3、 medfilt1函数平滑处理
(1)y=medfilt1(x,n);
(2) y=medfilt1(x,n,blksz)
(3)y=medfilt1(x,n,blksz,dim)