当前位置:妙知谷 >

游戏数码 >电脑 >

如何用Matlab进行指定函数的曲线拟合

如何用Matlab进行指定函数的曲线拟合

在学习的过程中,我们经常需要对一些离散数据进行指定函数的曲线拟合吗,来验证一些理论推理,下面我将为大家示范如何使用Matlab进行指定函数的曲线拟合。

如何用Matlab进行指定函数的曲线拟合

操作方法

(01)我们通过阻尼振荡实验中测得离散数据来进行示范,数据如下:x=[0 0.4 1.2 2 2.8 3.6 4.4 5.2 6 7.2 8 9.2 10.4 11.6 12.4 13.6 14.4 15]';y=[1 0.85 0.29 -0.27 -0.53 -0.4 -0.12 0.17 0.28 0.15 -0.03 -0.15 -0.071 0.059 0.08 0.032 -0.015 -0.02]';我们先通过散点图来观察其大致规律:

如何用Matlab进行指定函数的曲线拟合 第2张

(02)由上面的散点图可知,其对应的函数形式为下图所示:

如何用Matlab进行指定函数的曲线拟合 第3张

(03)接下我们采用这个函数模型对上面的离散数据进行曲线拟合,代码如下:syms tf=fittype('a*cos(k*t)*exp(w*t)','independent','t','coefficients',{'a','k','w'});cfun=fit(x,y,f) %显示拟合函数,数据必须为列向量形式xi=0:0.1:20;yi=cfun(xi);figureplot(x,y,'r*',xi,yi,'b-');title('拟合函数图形');figureplot(x,sqrt(y-yi(1:1:18,:).^2/18),'r*');title('标准误差图');运行结果如下:

如何用Matlab进行指定函数的曲线拟合 第4张
如何用Matlab进行指定函数的曲线拟合 第5张

(04)由上面的拟合函数图形和标准误差图形可知,拟合函数给出了数据的大致趋势,结果很好,下面再给出几个参数值与对应参数的置信区间;

如何用Matlab进行指定函数的曲线拟合 第6张

(05)细心的网友可能看到命令窗口中给出的Warning,其实,因为我们三个参数a,k,w三个参数的初始值未给出导致,因此如果拟合结果不是十分理想,可以多运行几次。

(06)最后,我们对上述Matlab代码所出现的一些函数进行大致介绍,如果想要详细介绍请参考Matlab说明文档。%自定义拟合函数,在使用时直接模仿下面的参数填写即可f=fittype('a*cos(k*t)*exp(w*t)','independent','t','coefficients',{'a','k','w'});%根据自定义的拟合函数来拟合数据x,y,注意数据必须为列向量形式cfun=fit(x,y,f)

  • 文章版权属于文章作者所有,转载请注明 https://miaozhigu.com/zh-sg/sm/diannao/v03372.html