Matlab数据的预处理.ppt

上传人:牧羊曲112 文档编号:6511943 上传时间:2023-11-08 格式:PPT 页数:33 大小:543.50KB
返回 下载 相关 举报
Matlab数据的预处理.ppt_第1页
第1页 / 共33页
Matlab数据的预处理.ppt_第2页
第2页 / 共33页
Matlab数据的预处理.ppt_第3页
第3页 / 共33页
Matlab数据的预处理.ppt_第4页
第4页 / 共33页
Matlab数据的预处理.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《Matlab数据的预处理.ppt》由会员分享,可在线阅读,更多相关《Matlab数据的预处理.ppt(33页珍藏版)》请在三一办公上搜索。

1、2023/11/8,数据的预处理,教 材,2023/11/8,主要内容 数据的平滑处理 数据的标准化变换 数据的极差归一化变换,2023/11/8,第一节 数据的平滑处理,2023/11/8,一、smooth函数,调用格式:yy=smooth(y)yy=smooth(y,span)yy=smooth(y,method)yy=smooth(y,span,method)yy=smooth(y,sgolay,degree)yy=smooth(y,span,sgolay,degree)yy=smooth(x,y,),2023/11/8,%产生一个从0到2*pi的向量,长度为500 t=linspace

2、(0,2*pi,500);y=100*sin(t);%产生正弦波信号%产生500行1列的服从N(0,152)分布的随机数,作为噪声信号 noise=normrnd(0,15,500,1);y=y+noise;%将正弦波信号加入噪声信号 figure;%新建一个图形窗口 plot(t,y);%绘制加噪波形图 xlabel(t);%为X轴加标签 ylabel(y=sin(t)+噪声);%为Y轴加标签,【例3.1-1】产生一列正弦波信号,加入噪声信号,然后调用smooth函数对加入噪声的正弦波进行滤波(平滑处理),2023/11/8,移动平均法:yy1=smooth(y,30);%利用移动平均法对y

3、进行平滑处理 figure;%新建一个图形窗口 plot(t,y,k:);%绘制加噪波形图 hold on;plot(t,yy1,k,linewidth,3);%绘制平滑后波形图 xlabel(t);%为X轴加标签 ylabel(moving);%为Y轴加标签 legend(加噪波形,平滑后波形);,2023/11/8,lowess方法:%利用lowess方法对y进行平滑处理 yy2=smooth(y,30,lowess);figure;%新建一个图形窗口 plot(t,y,k:);%绘制加噪波形图 hold on;plot(t,yy2,k,linewidth,3);%绘制平滑后波形图 xla

4、bel(t);%为X轴加标签 ylabel(lowess);%为Y轴加标签 legend(加噪波形,平滑后波形);,2023/11/8,rlowess方法:%利用rlowess方法对y进行平滑处理 yy3=smooth(y,30,rlowess);figure;%新建一个图形窗口 plot(t,y,k:);%绘制加噪波形图 hold on;plot(t,yy3,k,linewidth,3);%绘制平滑后波形图 xlabel(t);%为X轴加标签 ylabel(rlowess);%为Y轴加标签 legend(加噪波形,平滑后波形);,2023/11/8,loess方法:%利用loess方法对y进

5、行平滑处理 yy4=smooth(y,30,loess);figure;%新建一个图形窗口 plot(t,y,k:);%绘制加噪波形图 hold on;plot(t,yy4,k,linewidth,3);%绘制平滑后波形图 xlabel(t);%为X轴加标签 ylabel(loess);%为Y轴加标签 legend(加噪波形,平滑后波形);,2023/11/8,sgolay方法:%利用sgolay方法对y进行平滑处理 yy5=smooth(y,30,sgolay,3);figure;%新建一个图形窗口 plot(t,y,k:);%绘制加噪波形图 hold on;plot(t,yy5,k,lin

6、ewidth,3);%绘制平滑后波形图 xlabel(t);%为X轴加标签 ylabel(sgolay);%为Y轴加标签 legend(加噪波形,平滑后波形);,2023/11/8,2023/11/8,二、smoothts函数,调用格式:output=smoothts(input)output=smoothts(input,b,wsize)%盒子法output=smoothts(input,g,wsize,stdev)%高斯窗方法output=smoothts(input,e,n)%指数法,2023/11/8,【例3.1-2】现有上海股市日开盘价、最高价、最低价、收盘价、收益率等数据,时间跨度

7、为2005年1月4日至2007年4月3日,共510组数据。完整数据保存在文件examp03_02.xls中,其中部分数据如下图所示。试调用smoothts函数对日收盘价数据进行平滑处理,2023/11/8,绘制日收盘价曲线图:%从文件examp03_02.xls中读取数据 x=xlsread(examp03_02.xls);price=x(:,4);%提取矩阵x的第4列数据,即收盘价数据 figure;%新建一个图形窗口%绘制日收盘价曲线图,黑色实线,线宽为2 plot(price,k,LineWidth,2);%为X轴和Y轴加标签 xlabel(观测序号);ylabel(上海股市日收盘价);

8、,2023/11/8,盒子法:%用盒子法平滑数据,窗宽为30 output1=smoothts(price,b,30);%用盒子法平滑数据,窗宽为100 output2=smoothts(price,b,100);figure;%新建一个图形窗口 plot(price,.);%绘制日收盘价散点图 hold on%绘制平滑后曲线图,黑色实线,线宽为2 plot(output1,k,LineWidth,2);%绘制平滑后曲线图,黑色点划线,线宽为2 plot(output2,k-.,LineWidth,2);xlabel(观测序号);ylabel(Box method);%为X轴和Y轴加标签%为图

9、形加标注框 legend(原始散点,平滑曲线(窗宽30),平滑曲线(窗宽100),location,northwest);,2023/11/8,用高斯窗方法平滑数据:output3=smoothts(price,g,30);%窗宽为30,标准差为默认值0.65 output4=smoothts(price,g,100,100);%窗宽为100,标准差为100 figure;%新建一个图形窗口 plot(price,.);%绘制日收盘价散点图 hold on%绘制平滑后曲线图,黑色实线,线宽为2 plot(output3,k,LineWidth,2);%绘制平滑后曲线图,黑色点划线,线宽为2 p

10、lot(output4,k-.,LineWidth,2);%为X轴和Y轴加标签 xlabel(观测序号);ylabel(Gaussian window method);legend(原始散点,平滑曲线(窗宽30,标准差0.65),.平滑曲线(窗宽100,标准差100),location,northwest);,2023/11/8,用指数法平滑数据:output5=smoothts(price,e,30);%用指数法平滑数据,窗宽为30 output6=smoothts(price,e,100);%用指数法平滑数据,窗宽为100 figure;%新建一个图形窗口 plot(price,.);%绘

11、制日收盘价散点图 hold on%绘制平滑后曲线图,黑色实线,线宽为2 plot(output5,k,LineWidth,2);%绘制平滑后曲线图,黑色点划线,线宽为2 plot(output6,k-.,LineWidth,2);%为X轴和Y轴加标签 xlabel(观测序号);ylabel(Exponential method);legend(原始散点,平滑曲线(窗宽30),平滑曲线(窗宽100),location,northwest);,2023/11/8,2023/11/8,三、medfilt1函数(一维中值滤波),调用格式:y=medfilt1(x,n)y=medfilt1(x,n,bl

12、ksz)y=medfilt1(x,n,blksz,dim),2023/11/8,%产生一个从0到2*pi的向量,长度为500 t=linspace(0,2*pi,500);y=100*sin(t);%产生正弦波信号%产生500行1列的服从N(0,152)分布的随机数,作为噪声信号 noise=normrnd(0,15,500,1);y=y+noise;%将正弦波信号加入噪声信号 figure;%新建一个图形窗口 plot(t,y);%绘制加噪波形图 xlabel(t);%为X轴加标签 ylabel(y=sin(t)+噪声);%为Y轴加标签,【例3.1-3】产生一列正弦波信号,加入噪声信号,然后

13、调用medfilt1函数对加入噪声的正弦波进行滤波(平滑处理),2023/11/8,中值滤波:%调用medfilt1对加噪正弦波信号y进行中值滤波,并绘制波形图 yy=medfilt1(y,30);%指定窗宽为30,对y进行中值滤波 figure;%新建一个图形窗口 plot(t,y,k:);%绘制加噪波形图 hold on%绘制平滑后曲线图,黑色实线,线宽为3 plot(t,yy,k,LineWidth,3);xlabel(t);%为X轴加标签 ylabel(中值滤波);%为Y轴加标签 legend(加噪波形,平滑后波形);,2023/11/8,2023/11/8,第二节 数据的标准化变换,

14、2023/11/8,一、标准化变换公式,2023/11/8,二、标准化变换的MATLAB实现,调用格式:Z=zscore(X)Z,mu,sigma=zscore(X)=zscore(X,1)=zscore(X,flag,dim),1.zscore函数,2023/11/8,%调用rand函数产生一个10行,4列的随机矩阵,每列服从不同的均匀分布 x=rand(10,1),5*rand(10,1),10*rand(10,1),500*rand(10,1)%调用zscore函数对x进行标准化变换(按列标准化),%返回变换后矩阵xz,以及矩阵x各列的均值构成的向量mu,各列的标准差构成的向量sigma

15、 xz,mu,sigma=zscore(x)std(xz)%求标准化后矩阵xz的各列的标准差,【例3.2-1】调用rand函数产生一个随机矩阵,然后调用zscore函数将其按列标准化,2023/11/8,第三节 数据的极差归一化变换,2023/11/8,一、极差归一化变换公式,2023/11/8,二、极差归一化变换的MATLAB实现,调用格式:R=rscore(X)R,xmin,xrange=rscore(X)=rscore(X,dim),1.自编的rscore函数,2023/11/8,%调用rand函数产生一个10行,4列的随机矩阵,每列服从不同的均匀分布 x=rand(10,1),5*ra

16、nd(10,1),10*rand(10,1),500*rand(10,1)%调用rscore函数对x按列进行极差归一化变换,%返回变换后矩阵R,以及矩阵x各列的最小值构成的向量xmin,各列的极差构成的向量xrange R,xmin,xrange=rscore(x),【例3.3-1】调用rand函数产生一个随机矩阵,然后调用rscore函数对其按列进行极差归一化变换,2023/11/8,调用格式:Y,PS=mapminmax(X,YMIN,YMAX)Y,PS=mapminmax(X,FP)Y=mapminmax(apply,X,PS)X=mapminmax(reverse,Y,PS)dy_dx

17、=mapminmax(dy_dx,X,Y,PS)dx_dy=mapminmax(dx_dy,X,Y,PS),2.自带的mapminmax函数,2023/11/8,%调用rand函数产生一个10行,4列的随机矩阵,每列服从不同的均匀分布 x=rand(10,1),5*rand(10,1),10*rand(10,1),500*rand(10,1)%调用rscore函数对x按列进行极差归一化变换,%返回变换后矩阵R,以及矩阵x各列的最小值构成的向量xmin,各列的极差构成的向量xrange FP.ymin=0;FP.ymax=1;y=mapminmax(x,FP),【例3.3-2】调用rand函数产生一个随机矩阵,然后调用mapminmax函数对其按列进行极差归一化变换,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号