首页 理论教育 MATLAB数据拟合方法-数学实验

MATLAB数据拟合方法-数学实验

时间:2023-11-02 理论教育 版权反馈
【摘要】:表2.3.5样本数据表建立M-命令文件进行多项式拟合,编辑窗口输入MATLAB代码如下:保存M-命令文件,命名为curve.m,运行后得到输出结果为:根据上述结果可知,该组样本数据的一次拟合函数为:二次拟合函数为:该样本数据的散点图和拟合函数曲线图如图2.3.5所示。图2.3.6拟合函数曲线2.工具箱cftool拟合MATLAB软件自带很多功能强大的工具箱,直接使用就能方便高效的得到结果。

MATLAB数据拟合方法-数学实验

1.函数命令拟合

regress\polyfit\lsqcurvefit——进行线性拟合、多项式拟合、其他曲线拟合

【语法】

[b,bint,r,rint,stats]=regress(y,x,alpha)返回一元或者多元线性函数的拟合参数b。其中,y为变量样本数据,x为自变量样本数据(x,y为列向量或者矩阵),alpha为显著性水平(缺省时设定为0.05);

【结果解释】返回变量b,bint为回归系数估计值及其置信区间;r,rint为残差及其置信区间;stats为检验回归模型的统计量:R2相关系数(R2越接近于1,回归方程越显著);F统计量值,F>F1-α(P,n-P-1)时拒绝原假设H 0,F越大回归方程越显著;P是与统计量F对应的概率,当P<α时拒绝H 0,回归模型成立。

b=polyfit(x,y,n)返回多项式拟合函数系数b,默认按照降幂排列,形成的多项式类型为:y=b1 xn+b2 xn-1+…+bn x+bn+1。其中,x为自变量样本数据,y为因变量样本数据,n为拟合多项式的幂次;

a=lsqcurvefit(f,a0,x,y)返回拟合函数为f的拟合系数a,其中,f为需要拟合的函数,a0为函数系数的初始猜测值,x为自变量样本数据,y为因变量样本数据。

【示例2.3.4】——多元线性函数拟合

设某工厂生产某个产品的成本y受到x 1,x 2,x 3三种因素的影响,现随机抽取一组样本,具体数据见表2.3.4:

表2.3.4 样本数据表

试利用表中数据确定该产品成本与3个影响因素间的多元线性拟合函数y=a 0+a 1 x 1+a 2 x 2+a 3 x 3的系数a 0、a 1、a 2、a3(显著性水平为0.01)。

命令窗口编写MATLAB代码如下:

运行后得到输出结果为:

根据上述结果可知,该产品成本与3个影响因素间的多元线性拟合函数为:

【示例2.3.5】——多项式拟合

设有一组样本数据见表2.3.5,请分别利用一次和二次多项式进行显著性水平为0.05的拟合,写出拟合函数并绘制拟合曲线图。

表2.3.5 样本数据表

建立M-命令文件进行多项式拟合,编辑窗口输入MATLAB代码如下:

保存M-命令文件,命名为curve.m,运行后得到输出结果为:

根据上述结果可知,该组样本数据的一次拟合函数为:

二次拟合函数为:

该样本数据的散点图和拟合函数曲线图如图2.3.5所示。

图2.3.5 多项式拟合函数曲线图

注 进行多项式拟合时,并非多项式次数越高拟合效果越好。

【示例2.3.6】——其他函数拟合

设有一组样本数据见表2.3.6,利用lsqcurvefit()命令对样本数据进行拟合,拟合函数形式为y=aex+bx 2+cx 3,并绘制拟合曲线图。(拟合系数保留至小数点后两位)

表2.3.6 样本数据表(www.xing528.com)

建立M-函数文件写入待拟合的函数,保存文件命名为cf.m,编辑窗口输入MATLAB代码如下:

命令窗口编写MATLAB代码如下:

运行后得到输出结果为:

根据上述结果可知,拟合函数为:

且残差为0.0912。样本数据散点图与拟合曲线图如图2.3.6所示。

图2.3.6 拟合函数曲线

2.工具箱cftool拟合

MATLAB软件自带很多功能强大的工具箱,直接使用就能方便高效的得到结果。曲线拟合时可以调用图2.3.7中所示的曲线拟合工具箱cftool(Curve Fitting Tool)。

图2.3.7 曲线拟合工具箱界面

 曲线拟合工具箱有两种调用方法:在命令窗口直接输入cftool;选择APP标签下的按钮Curve Fitting。下面以选择按钮Curve Fitting方式演示工具箱的调用过程。

在命令窗口输入待拟合的数据:

在打开的曲线拟合工具箱界面左上角的xdata与ydata分别选定原始数据x,y;在右边的下拉菜单中选择Custom Equation,即用户自定义,输入y=a*exp(x)+b*x.^2+c*x.^3,点击Fit按钮开始拟合,得到结果如图2.3.8所示。

图2.3.8 拟合过程演示图

图2.3.9 拟合曲线图

根据Results窗口显示结果可以得到拟合函数为:

拟合曲线如图2.3.9所示。

对照图2.3.6和图2.3.9发现,只要数据相同的情况下,不论是采用函数命令拟合还是采用拟合工具箱拟合,结果是一样的,而且拟合工具箱要比函数命令拟合方便很多。

【能力训练2.3】

1.已知数据x=[1.2 1.4 1.8 2.1 2.4 2.6 3.0 3.3],y=[4.85 5.2 5.6 6.2 6.5 7.0 7.5 8.0],对x与y进行一次、二次拟合。

2.分别用函数命令拟合和工具箱cftool拟合的方法,对表1中数据进行三次多项式拟合。

表1 样本数据表

 3.已知x=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1],y=[1.2 2.3 3.5 4.3 4.8 5.6 7.4 6.5 6.3 8.9],用不同的插值方法求x=0.35处的插值,并作出插值函数图像。

4.水泥凝固时放出的热量y与水泥中的四种化学成分x 1,x 2,x 3,x 4有关,今测得一组数据如表2所示,试利用多元线性函数对所给数据进行拟合。

表2 水泥参数表

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈