matlab数据平滑程序文件.docx
- 文档编号:2362785
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:7
- 大小:165.94KB
matlab数据平滑程序文件.docx
《matlab数据平滑程序文件.docx》由会员分享,可在线阅读,更多相关《matlab数据平滑程序文件.docx(7页珍藏版)》请在冰豆网上搜索。
matlab数据平滑程序文件
Matlab数据平滑程序
一、matlab自带平滑函数
clear,clc
tic,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=smooth(y,50);%利用移动平均法对y做平滑处理
figure;%新建一个图形窗口
plot(t,y,'k:
');%绘制加噪波形图
holdon;
plot(t,yy1,'k','linewidth',3);%绘制平滑后波形图
xlabel('t');
ylabel('moving');
legend('加噪波形','平滑后波形');
yy2=smooth(y,50,'lowess');%利用lowess方法y做平滑处理
figure;
plot(t,y,'k');
plot(t,y,'k:
');
holdon;
plot(t,yy2,'k','linewidth',3);
xlabel('t');
ylabel('lowess方法平滑后得到的值');
legend('加噪波形','平滑后波形');
yy3=smooth(y,50,'rlowess');%利用rlowess方法y做平滑处理
figure;
plot(t,y,'k:
');
holdon;
plot(t,yy3,'k','linewidth',3);
xlabel('t');
ylabel('rlowess');
legend('加噪波形','平滑后波形');
yy4=smooth(y,50,'loess');%利用loess方法y做平滑处理
figure;
plot(t,y,'k:
');
holdon;
plot(t,yy4,'k','linewidth',3);
xlabel('t');
ylabel('loess');
legend('加噪波形','平滑后波形');
yy5=smooth(y,50,'sgolay',3);%利用sgolay方法y做平滑处理
figure;
plot(t,y,'k:
');
holdon;
plot(t,yy5,'k','linewidth',3);
xlabel('t');
ylabel('sgolay');
legend('加噪波形','平滑后波形');
toc
他们依次平滑后生成的曲线
二、七点平滑法的matlab数据平滑
clear,clc
tic,t=linspace(0,2*pi,500)';
y=100*sin(t);
noise=normrnd(0,15,500,1);
y=y+noise;
figure;
plot(t,y,'k:
');
holdon;
forj=0:
10000
y1
(1)=(39.0*y
(1)+8.0*y
(2)-4.0*y(3)-4.0*y(4)+1.0*y(5)+4*y(6)-2*y(7))/42.0;
y1
(2)=(8.0*y
(2)+19.0*y(3)+16.0*y(4)+6.0*y(5)+4.0*y(6)-7*y(7)+4*y(8))/42.0;
y1(3)=(-4.0*y(3)+16.0*y(4)+19.0*y(5)+12.0*y(6)+2.0*y(7)-4*y(8)+1*y(9))/42.0;
fori=4:
497
y1(i)=(-2*(y(i-3)+y(i+3))+3.0*(y(i-2)+1*y(i+2))+6.0*(y(i-1)+1*y(i+1))+7*y(i))/21.0;
end
y1(498)=(-4.0*y(498)+16.0*y(497)+19.0*y(496)+12.0*y(495)+2.0*y(494)-4*y(493)+1*y(492))/42.0;
y1(499)=(8.0*y(499)+19.0*y(498)+16.0*y(497)+6.0*y(496)+4.0*y(495)-7*y(494)+4*y(493))/42.0;
y1(500)=(39.0*y(500)+8.0*y(499)-4.0*y(498)-4.0*y(497)+1.0*y(496)+4*y(495)-2*y(494))/42.0;
y=y1;
end
plot(t,y1,'k','linewidth',3);
title('七点迭代平滑法图片')
xlabel('t')
ylabel('平滑后计数')
grid
toc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 数据 平滑 程序 文件