用MATLAB怎么实现曲线拟合?

用MATLAB怎么实现曲线拟合?,第1张

1 多项式函数拟合:a=polyfit(xdata,ydata,n)其中n表示多项式的最高阶数,xdata,ydata为将要拟合的数据,它是用数组的方式输入.输出参数a为拟合多项式 的系数多项式在x处的值y可用下面程序计算.y=polyval(a,x)2 一般的曲线拟合:p=curvefit(‘Fun’,p0,xdata,ydata)其中Fun表示函数Fun(p,data)的M函数文件,p0表示函数的初值.curvefit()命令的求解问题形式是若要求解点x处的函数值可用程序f=Fun(p,x)计算.例如已知函数形式 ,并且已知数据点 要确定四个未知参数a,b,c,d.使用curvefit命令,数据输入 ;初值输 ;并且建立函数 的M文件(Fun.m).若定义 ,则输出又如引例的求解,MATLAB程序:t=[l:16]; %数据输人y=[ 4 6.4 8 8.4 9.28 9.5 9.7 9.86 10.2 10.32 10.42 10.5 10.55 10.58 10.6] ;plot(t,y,’o’) %画散点图p=polyfit(t,y,2) (二次多项式拟合)计算结果:p=-00445 10711 43252 %二次多项式的系数由此得到某化合物的浓度y与时间t的拟合函数。

拟合步骤:
1、求(获)得一系列x,y对应值
x=[]
y=[]
2、根据画出的曲线,,设定拟合函数
fun=inline('a(1)+a(2)exp(a(3)x','a','x')
3、初定x0的初值
x0=[0
0
0]
4、用拟合函数求出拟合系数
a=lsqcurvefit(fun,x0,x,y)

a=
nlinfit(x,y,fun,x0)
用cftool的结果与实际是有较大的误差。你不仿用二种获得的拟合函数,将已知值x代人,得到的yi,那个更接近已知值y。
一般用cftool工具箱,来判断拟合函数可能的形式。

1、MATLAB自带的曲线拟合工具包,功能十分强大。首先,在上方工具栏选取APPS,点击curve fitting。

2、输入自变量x和因变量y。

3、选择拟合方式,有多项式拟合polynomial,高斯拟合gaussian,幂指数拟合power等等,本次以多项式拟合为例。

4、通过数据计算,可以获得曲线参数(曲线函数中的各项系数),从而实现曲线拟合。

5、完成效果图。

输入数据
做数据曲线拟合,当然该有数据,本经验从以如下数据作为案例。
添加数据到curve
fitting程序
这一步就是将你要拟合的数据添加到curve
fitting程序中,同时给你拟合的曲线命名。
选择曲线拟合的方法类型
常见的拟合曲线有多项式的、指数的、对数的等等。curve
fitting程序提供了很多的方法。你可以根据自己的数据具体选择。
选择好方法后,按照提供的公式选择具体的选项
本文的数据近似为线性的,我们选择多项式拟合的一阶方法。
拟合结果查看
拟合后,curve
fitting会给你具体的函数表达式,你可以将他给出的参数的值带入你选择的方法中。
结果说明
在结果中,不仅可以看到函数的表达式,同时他还给出了95%置信区间的参数值,以及拟合好坏的一些指标,如:
SSE:
R-square:
Adjusted
R-square:
RMSE:
画出图像
虽然在curve
fitting程序有自带的图像显示,但是一般最好将拟合结果显示到单独的图像窗口。
保存结果
曲线拟合结束后,你可以保存你的拟合结果。选择你保存的路径即可。
END
注意事项
注意数据的维数的匹配
注意数据的先后顺序,即因变量和自变量的数据


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13106607.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存