MATLAB曲线拟合(含实例) 下载本文

y=f(x,β)=β1x+β2 (4) β3+x

指数增长模型:y=f(x,β)=β1(1-eβ,x) (5)

使用曲线拟合工具界面cftool来确定模型(4)和(5)中的参数,并比较模型(4)、(5)的拟合效果。

在MATLAB命令窗口中输入以下语句: clear; close;

x=[0.02 0.02 0.06 0.06 0.11 0.11 0.22 0.22 0.56 0.56 1.10 1.10]; y=[76 47 97 107 123 139 159 152 191 201 207 200]; cftool(x,y);

在″Curve Fitting Tool″对话框中单击″Fitting″,打开″Fitting″对话框,点击″New fit″,在″Fit Name:″中输入″有理函数″,在″Type of fit″中选中″Rational″,在″Numerator″中选中″linear polynomial″,在″Denominator″中选中″linear polynomial″,然后点击″Apply″,完成有理函数拟合。然后,再次点击″New fit″,在″Fit Name:″中输入″指数函数″,在″Type of fit″中选中″Custom Equation″,点击″New equation″,打开用户自定义方程对话框,点击″General Equation″,在″Equation″中输入″y=a*(1-exp(-b*x))″,点击″Ok″后回到拟合窗口,点击″Apply″,完成指数函数拟合,参数计算结果见表4。

表4 模型(4)、(5)

计算结果 拟合图为:

5

通过表4可以看出,有理函数(Michaelis-Menten模型)ys=221.7x+3.318x+0.1047拟合剩余标准差较小,R-square较大(越接近1越好),故用有理函数ys=221.7x+3.318x+0.1047拟合数据比用指数函数ys=192.1(1-e-11.38x)拟合的效果好。

3结束语

利用MATLAB的绘图功能和曲线拟合功能,可以很方便地进行多项式拟合和其它非线性曲线拟合,并可以通过比较剩余标准差和可决系数R2的大小,来对比不同曲线的拟合效果。从而在不知数学模型情况下,也能根据数据的散点图找出较优的曲线来拟合数据。 参考文献:

[1]徐萃薇,孙绳武,计算方法引论[M].北京:高等教育出版社,2002-01:62-85.

[2]苏金明,张莲花,等.MATLAB工具箱应用[M].北京:电子工业出版社,2004-01:489-512.

[3]姜启源,谢金星,叶俊.数学模型[M].北京:高等教育出版社,2003-08:308-316.

6