资源描述:
《matlab中smooth函数平滑处理数据实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、>>t=linspace(0,2*pi,500)';%产生一个从0到2*pi的向量,长度500>>y=100*sin(t);%产生正弦波信号%产生500行1列的服从N(0,15*15)分布的随机数,作为噪声信号>>noise=normrnd(0,15,500,1);>>y=y+noise;%将噪声信号加入正弦波信号>>figure;%新建一个图形窗口>>plot(t,y);%绘制加噪波形图>>xlabel('t');%为X轴加标签>>ylabel('y=sin(t)+噪声');%为Y轴加标签>>>>yy1=smoot
2、h(y,30);%利用移动平均法对y做平滑处理>>figure;%新建一个图形窗口>>plot(t,y,'k:');%绘制加噪波形图>>holdon;>>plot(t,yy1,'k','linewidth',3);%绘制平滑后波形图>>xlable('t');>>xlabel('t');>>ylabel('moving');>>legend('加噪波形','平滑后波形');>>>>yy2=smooth(y,30,'lowess');%利用lowess方法y做平滑处理>>figure;>>plot(t,y,'k');>
3、>plot(t,y,'k:');>>holdon;>>plot(t,yy2,'k','linewidth',3);>>xlabel('t');>>ylabel('lowess');>>legend('加噪波形','平滑后波形');>>>>yy3=smooth(y,30,'rlowess');%利用rlowess方法y做平滑处理>>figure;>>plot(t,y,'k:');>>holdon;>>plot(t,yy3,'k','linewidth',3);>>xlabel('t');>>ylabel('rlowes
4、s');>>legend('加噪波形','平滑后波形');>>>>yy4=smooth(y,30,'loess');%利用loess方法y做平滑处理>>figure;>>plot(t,y,'k:');>>holdon;>>plot(t,yy4,'k','linewidth',3);>>xlabel('t');>>ylabel('loess');>>legend('加噪波形','平滑后波形');>>>>yy5=smooth(y,30,'sgolay',3);%利用sgolay方法y做平滑处理figure;plot(t,
5、y,'k:');holdon;plot(t,yy5,'k','linewidth',3);xlabel('t');ylabel('sgolay');legend('加噪波形','平滑后波形');以下为效果图:(加噪波形图)(加噪波形图2)(平滑后)(加标签)(lowess法处理)