matlab數據的平滑處理


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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM