matlab曲线拟合函数有哪些「附:常用的曲线拟合函数」

首先,秦可叶感谢你能坚持经常过来关注我!下面我就来说说matlab曲线拟合函数有哪些,常用的曲线拟合函数,以及关于数据,信号,波形这些的相关干货,认真阅读完,把我想表达的思路完全理解,相信你很快就可以掌握!

数据导入MATLAB之后,通常需要对数据进行一些预处理,例如平滑处理(去噪)、标准化变换和极差归一化变换等。

1.数据的平滑处理

1.1 smooth函数平滑处理

MATLAB曲线拟合工具箱中提供了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指定窗宽。

例:产生一正弦信号,加入噪声信号,调用smooth函数对加入噪声的正弦波进行平滑处理

t=linspace(0,2*pi,500);%产生一个从0到2*pi的向量,长度为500,(t=0:2*pi/500:2*pi)

y=100*sin(t); %产生正弦波信号

noise=normrnd(0,15,1,500); %产生1行500列的服从N(0,15^2)分布的随机数,作为噪声信号

y=y+noise; %将正弦信号加入噪声信号

figure; %新建一个窗口

plot(t,y); %绘制加噪声波形

xlabel(‘t’);

ylabel(‘y=sin(t)+噪声’);

title(‘原始信号’);

%—–移动平均法—–

yy1=smooth(y,30); %利用移动平均法对y进行平滑处理

figure;

plot(t,y,’k:’); %画出原始信号,类型为黑色点线化出

hold on;

plot(t,yy1,’k’,’linewidth’,3); %绘制平滑后波形图,颜色为黑色,宽度为3

xlabel(‘t’);

ylabel(‘moving’);

legend(‘原始信号’,’平滑后波形’);

title(‘移动平均法平滑处理’);

%—-lowess法—–

yy2=smooth(y,30,’lowess’); %利用lowess方法对y进行平滑处理

figure; %新建一个图形窗口

plot(t,y,’k:’); %绘制原始信号

hold on;

plot(t,yy2,’k’,’linewidth’,3); %绘制平滑后波形图

xlabel(‘t’);

ylabel(‘rlowrss’);

legend(‘原始信号’,’平滑后波形’);

title(‘lowess方法平滑处理’);

%—–rlowess方法平滑处理

yy3=smooth(y,30,’rlowess’); %利用rlowess方法对y进行平滑处理

figure; %新建一个图形窗口

plot(t,y,’k:’); %绘制原始信号

hold on;

plot(t,yy3,’k’,’linewidth’,3);

xlabel(‘t’);

ylabel(‘rlowess’);

legend(‘原始信号’,’平滑后波形’);

title(‘rlowess方法平滑处理’);

%—-loess方法平滑处理

yy4=smooth(y,30,’loess’); %用loess方法对y进行平滑处理

figure;

plot(t,y,’k:’); %原始信号

hold on;

plot(t,yy4,’k’,’linewidth’,3); %绘制平滑后波形图

xlabel(‘t’);

ylabel(‘loess’);

legend(‘原始信号’,’平滑后波形’);

title(‘loess方法平滑处理’);

%—sgolay方法平滑处理

yy5=smooth(y,30,’sgolay’,3); %利用sgolay方法对y进行平滑处理

figure;

plot(t,y,’k:’);

hold on;

plot(t,yy5,’k’,’linewidth’,3); %绘制平滑后的波形图

xlabel(‘t’);

ylabel(‘sgolay’);

legend(‘原始信号’,’平滑后波形’);

title(‘sgolay方法平滑处理’);

matlab数据的平滑处理matlab数据的平滑处理matlab数据的平滑处理matlab数据的平滑处理matlab数据的平滑处理matlab数据的平滑处理

调用smooth函数,设置相同的窗宽,用5中方法对加噪声后信号进行平滑处理,可以发现,这5种方法平滑效果,都比较好的滤除了噪声,反映了数据的总体规律。实际上随着窗宽的增大,平滑后的曲线也会越来越平滑,但过于光滑也可能造成失真。

1.2 smoothts函数平滑处理

MATLAB金融工具箱中提供了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.

例:现有上海股市开盘价、最高价,最低价,收盘价,收益率等数据,共有510组数据,试调用smoothts函数对日收盘价数据进行平滑处理

数据如图所示:

matlab数据的平滑处理

x=xlsread(‘C:UsersAdministratorDesktopMATLABMATLAB数据分析与统计chapter21.xls’);%读取数据

price=x(:,4)’; %提取矩阵x中的第4列数据,即收盘价数据, 并转置,装换为行向量

plot(price,’k’,’LineWidth’,2); %绘制收盘价的曲线,绘制类型:黑色实线,线宽为2

xlabel(‘观测序号’);

ylabel(‘日收盘价’);

title(‘原始数据’);

%—盒子法平滑数据

output1=smoothts(price,’b’,30); %用盒子法平滑数据,窗宽为30

output2=smoothts(price,’b’,100); %盒子法平滑数据,窗宽为100

figure; %新建一个图形窗口

plot(price,’.’); %绘制原始数据

hold on;

plot(output1,’k’,’LineWidth’,2); %绘制平滑后的曲线,曲线类型:黑色实线,宽度2

plot(output2,’k-.’,’LineWidth’,2); %绘制平滑后的曲线,曲线类型:黑色点画线,线宽为2

xlabel(‘观测信号’);

ylabel(‘Box method’);

legend(‘原始散点数据’,’平滑后曲线(窗宽30)’,’平滑后数据(窗宽100)’);

title(‘盒子法平滑数据’);

%—–高斯窗方法平滑数据

output3=smoothts(price,’g’,30); %窗宽为30,标准差为默认值0.65

output4=smoothts(price,’g’,100,100); %窗宽为100,标准差为100

figure; %新建一个图形窗口

plot(price,’.’); %绘制元素数据

hold on;

plot(output3,’k’,’LineWidth’,2); %绘制平滑后的曲线,类型:黑色实线,线宽为2

plot(output4,’k-.’,’LineWidth’,2); %绘制平滑后的曲线,类型:黑色点画线,线宽为2

xlabel(‘观测信号’);

ylabel(‘Gaussian method’);

legend(‘原始散点’,’平滑曲线(窗宽30,标准差0.65)’,’平滑曲线(窗宽100,标准差100)’);

title(‘高斯窗方法平滑’);

%—-指数法平滑数据

output5=smoothts(price,’e’,30); %用指数法平滑数据,窗宽为30

output6=smoothts(price,’e’,100); %用指数法平滑数据,窗宽为100

figure; %新建一个图形窗口

plot(price,’.’); %绘制元素数据散点图

hold on;

plot(output5,’k’,’LineWidth’,2); %绘制平滑后曲线图,曲线类型:黑色实线,线宽2

plot(output6,’k-.’,’LineWidth’,2); %绘制平滑后曲线图,线型:黑色点画线,线宽2

xlabel(‘观测序号’);

ylabel(‘Exponential method’);

legend(‘原始散点数据’,’平滑曲线(线宽30)’,’平滑曲线(线宽100)’);

title(‘指数法平滑数据’)

matlab数据的平滑处理matlab数据的平滑处理matlab数据的平滑处理matlab数据的平滑处理

例中,调用smoothts函数,用3种不同的方法(盒子法,高斯窗法,指数法),每种方法设定两种不同的窗宽,对收盘价数据进行了平滑处理,并做出平滑曲线,原始收盘价曲线比较曲折,不够光滑,从图中可以看出,前两种方法在端点处的平滑效果不是很好,最后一种方法在右尾部的处理有些失真。但在数据的中段,这三种方法的平滑效果比较好,并且随着窗宽的增大,平滑后的曲线的光滑性也在增强,但光滑度增强的同时也造成了失真。

1.3 medfilt1函数平滑处理

MATLAB信号处理工具箱中提供了medfilt1函数,用来对信号数据进行一维中值滤波,其调用格式如下:

(1)y=medfilt1(x,n);

对向量x进行一维中值滤波,返回与x等长的向量y。这里的n是窗宽参数,当n是奇数时,y的第k个元素等于x的第k-(n-1)/2个元素至k+(n-1)/2个元素的中位数;当n是偶是,y的第k个元素等于x的第k-n/2个元素至第k+n/2-1个元素的中位数。n的默认值为3

(2) y=medfilt1(x,n,blksz)

默认情况下,blksz=length(x)。当x是一个矩阵时,通过循环对x的各列进行一维中值滤波,返回对x的各列进行一维中值滤波,返回与x具有相同行数和列数的矩阵y

(3)y=medfilt1(x,n,blksz,dim)

用dim参数指定沿x的哪个维进行滤波

例:产生一正弦信号,加入噪声,然后调用medfilt1函数对加入噪声的正弦波进行平滑处理(滤波)

t=linspace(0,2*pi,500); %产生一个从0到2*pi的向量,长度为500

y=100*sin(t);

noise=normrnd(0,15,1,500); %产生1行500列的服从N(0,15^2)分布的随机数,作为噪声信号

y=y+noise; %将正弦波信号加入噪声信号

figure; %新建一个图形窗口

plot(t,y); %绘制加入噪声后的波形图

xlabel(‘t’);

ylabel(‘y=sin(t)+noise’);

title(‘原始信号’);

%调用medfilt1对加噪声正弦信号y进行中值滤波,并绘制波形图

yy=medfilt1(y,30); %指定窗口为30,对y进行中值滤波

figure; %新建一个图形窗口

plot(t,y,’k:’); %绘制加噪声波形图

hold on;

plot(t,yy,’k’,’LineWidth’,3); %绘制平滑后曲线图,线型:黑色实线,线宽为3

xlabel(‘t’);

ylabel(‘中值滤波’);

legend(‘加噪波形’,’平滑后波形’);

title(‘medfilt1平滑’);

matlab数据的平滑处理matlab数据的平滑处理

上面就是本文分享的全部内容,希望这篇文章可以帮到你,认真仔细阅读完matlab曲线拟合函数有哪些「附:常用的曲线拟合函数」文章,感觉对自己有帮助,别忘了点个赞哦!赠人玫瑰有留余香!

本文发布者:管理员,不代表寂寞网立场,转载请注明出处:https://www.jimowang.com/p/25615.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jimowangmail@126.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年12月28日 09:59
下一篇 2022年12月28日 10:02

相关推荐

  • 追着雪花看新疆|看草莓棚里的“黑科技”——巧用工业余热“反哺”现代农业 – 视频

    各位朋友们大家好,我是信息发布员钱浸,每日为您带来最新的资讯,近来,追着雪花看新疆|看草莓棚里的“黑科技”——巧用工业余热“反哺”现代农业成为了网络上热门的讨论话题,吸引了大量网友的关注,下面就让我们一起来揭开这个事件的面纱,了解到底发生了什么吧! 追着雪花看新疆 原标题:看草莓棚里的“黑科技”——巧用工业余热“反哺”现代农业 草莓,冬季水果里的“顶流”,红…

    自媒体 2023年12月22日
  • 十大奢侈女包品牌排行榜「最新女士包奢侈品牌排行榜」

    哈喽,小伙伴们大家好,今天许伟废话就不多说了,直接上干货,标题:十大奢侈女包品牌排行榜(女士包奢侈品牌排行榜),以及排行榜,铂金,经典等等各种一系列的相关干货,这篇文章对新手朋友来说是比较重要的,因为涉及到各个方面,阅读完你一定能有所收获! 十大奢侈女包排行榜第一:Hermès爱马仕铂金包 素有“包中贵妇”之名的爱马仕一直长居全球奢侈女包排行榜上的第一梯队,…

    自媒体 2022年12月20日
  • 手机提取公积金多长时间能入账「详细讲解:可以提取几次」

    大家好,很高兴又和你见面了,感谢你能经常过来支持陈宣轩,这次我们就来聊聊手机提取公积金多长时间能入账,可以提取几次,以及公积金,住房公积金,手机,客户,业务相关的事项,精心为你准备的干货,通过这篇文章相信你能有所收货! 随着现在互联网行业的不断发展,很多公司或者部门的业务是可以通过互联网来进行办理的。比如,公积金提取业务就是可以通过手机进行线上提取。那么,下…

    自媒体 2023年3月4日
  • 主网是什么意思 详细介绍:主网升级是利好还是利空

    最近有很多朋友问冯健城关于主网是什么意思,主网升级是利好还是利空的事情,我来为大家解答一下,还有关于利空,利好,根据,这个词,货币等一系列实用干货和技巧分享,在成功的路上,没有什么比清晰的思路更重要的了。希望我的分享能够为你们的成功带来一些帮助和指导! 我们在数字货币圈是不是经常听到主网这个词,比如前段时间热门的core币上了主网,那大家知道这个主网是什么意…

    2023年4月6日
  • 娱乐圈2009年许老虎是谁 2009年许老虎落网

    Hi,大家好,美好的一天从这里开始,今天主要讲解娱乐圈2009年许老虎是谁 2009年许老虎落网,还有关于鲜肉,富婆,老牛这些的精品干货文章,希望各位能认真阅读。因为,只有这样才能真正理解和掌握! 说起老牛吃嫩草这些,早已不是什么新鲜事了,毕竟老牛只是形容人的年纪大,但是没有否定的是,这个老牛口袋里有多少钱。毕竟有钱能使鬼推磨,这也是明摆着的事实。所以说现在…

    自媒体 2022年11月15日
  • 七本让我熬夜看完的推荐言情「推荐推荐50本熬夜看完的书荒必备」

    HI,小伙伴们你们好,今天赵子龙比较忙,抽个时间来说下关于七本让我熬夜看完的推荐言情,推荐50本熬夜看完的书荒必备,以及现代,星辰,财阀,孤女,小说等等各种一系列的相关干货,认认真真阅读完,若能把我想表达的全部理解,相信你已经离大牛不远了哈! 推荐几本让读者欲罢不能的小说,熬夜也要看,忍不住一口气看完 你是我的万千星辰 爱上一个人的时候,就不平等了。。许倾爱…

    2023年3月18日