本 科 生 毕 业 论 文
基于MATLAB的不同曲线拟合方式的比较研究
院 系: 电子信息工程学系 专 业: 测控技术与仪器 班 级: 学 号: 指导教师: 职称(或学位):
2011年 5 月
原创性声明
本人郑重声明:所呈交的论文(设计),是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文(设计)不含任何其他个人或集体已经发表或撰写过的作品成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。
学生签名: 年 月 日
指导声明
本人指导的 同学的毕业论文(设计)题目大小、难度适当,且符合该同学所学专业的培养目标的要求。本人在指导过程中,通过网上文献搜索及文献比对等方式,对其毕业论文(设计)内容进行了检查,未发现抄袭现象,特此声明。
指导教师签名: 年 月 日
目 录
1 引言 ............................................................................................................................................. 2 2 软件介绍 ..................................................................................................................................... 2
2.1 MATLAB简介 ............................................................................................................... 2 2.2 MATLAB曲线拟合工具箱简介 ................................................................................... 2 3 曲线拟合 ..................................................................................................................................... 4
3.1 曲线拟合理论 ................................................................................................................ 4 3.2 最小二乘法拟合 ............................................................................................................. 4 4 基于MATLAB的曲线拟合 ...................................................................................................... 5
4.1 曲线拟合数据来源 ......................................................................................................... 5 4.2 指数函数曲线拟合 ......................................................................................................... 6 4.3 最小二乘法多项式曲线拟合 ......................................................................................... 7 4.4 内插式曲线拟合 ............................................................................................................. 8 4.5 平滑样条曲线拟合 ......................................................................................................... 9 5 曲线拟合结果的比较 ............................................................................................................... 11 6 结论 ........................................................................................................................................... 12 致谢 ............................................................................................................................................... 13 参考文献 ....................................................................................................................................... 13
基于MATLAB的不同曲线拟合方式的比较研究
摘要:随着现代计算机技术的快速发展,计算机软件的应用范围越来越广泛。基于MATLAB软件曲线拟合的方法也越来越广泛地应用到工程分析和科学研究中。采用MATLAB曲线拟合工具箱对数据集进行拟合处理,可以快速地在简单易用的环境中实现许多基本的曲线拟合。文章对曲线拟合进行理论分析和数学描述,引入可视化高性能的工具软件MATLAB对曲线进行最小二乘法拟合、指数函数拟合、内插式曲线拟合和平滑样条式曲线拟合。最后结合具体问题和曲线拟合各个要素从中选择最优拟合方式。
关键词:MATLAB; 曲线拟合; 最小二乘法; 曲线拟合工具箱
Abstract: With the rapid development of modern computer technology, the computer software is widely used. Based on the MATLAB software curve fitting method is also more and more widely applied to engineering analysis and scientific research. Using MATLAB toolbox of curf fitting to deal with data sets can quickly in easy-to-use environment to realize many basic curve fitting. In the paper curve fitting is theoretically analyzed and mathematical described, and adopts the MATLAB to the curve for the least square fitting,exponential function fitting, interpolant curve fitting, and smoothing spline curve fitting. Finally, the optimal way is to be selected from every elements of the curve fitting considering the specific problems of various factors.
Keywords: MATLAB; curve fitting; least square method; curve fitting toolbox
1
1 引言
在应用领域中,经常面对大量的数据,我们总希望能找到一个解析函数用它来描述这些点的变化规律且可以用来预测,这就要用到曲线拟合[1]。曲线拟合的目的是找到一条光滑的曲线使它能够最佳的拟合数据,但不要求该曲线一定要经过每一点。曲线拟合应用非常广泛,在计算科学领域中占有非常重要地位。人们对某一未知领域的研究,为了探索其内在的规律,建立了相应的数学模型,而模型中往往含有某些待定的参数,要确定这些参数,就要用到数据拟合[2]。可见曲线拟合方式的全面研究对科学计算具有重大的现实意义。
MATLAB作为一种用于数值计算和可视化图形的高级计算软件。它有着开放式可扩充体系结构,又可以灵活修改、补充和扩展 MATLAB能力[3]。MATLAB提供了两种曲线拟合方法:一种是采用函数形式,使用编程对数据进行拟合,使用这种方法对拟合函数要有较好的了解;还有一种是用图形窗口进行操作,具有简便、快速,可操作性强的优点[4]。
本文研究的内容是利用MATLAB对曲线进行最小二乘法拟合,指数函数拟合,内插式曲线拟合和平滑样条式曲线拟合,相互比较得到最优的拟合方式。
2 软件介绍
2.1 MATLAB简介
MATLAB的名字是由Matrix和Laboratory两个词的前三个字母组成的[5]。MATLAB作为一种科学计算软件,它主要用于矩阵的运算及控制和信息处理领域分析及设计。以模块化的计算方法、丰富的矩阵运算、可视化与智能化的人机互换功能、图形绘制和数据处理函数,成为系统设计和仿真领域中最受欢迎的软件系统。
MATLAB是“矩阵实验室”(Matrix Laboratoy)的缩写,它是一种以矩阵运算为基础的交换式程序语言,专门针对科学、工程计算机绘图的需求[6]。MATLAB的主要特点是简洁和智能化,它适应科技人员的思维方式和书写习惯,使编程和调试效率大大提高。它采用解释方式工作,输入程序马上得出结果,人机交互性能好,因此深得科技人员的喜爱,尤其是它可以适应多种平台,随计算机软硬件的更新及时的升级。MATLAB语言在国外的大学,特别是用数值计算频繁的电子信息类学科中,它已成为每个学生的工具了。据调查在工业部门和设计研究单位,MATLAB已被认为是高效研究和开发的首选工具。学习掌握MATLAB软件,可以说在科学计算软件工具上与国际相接轨。
2.2 MATLAB曲线拟合工具箱简介
采用MATLAB做曲线拟合可以内建函数或曲线拟合工具箱(Curve Fitting Toolbox)。这个工具箱集成了用MATLAB建立的图形用户界面GUIS和M文件函数[7]。GUIS界面是一个可视化的图形界面,具有较强的图形拟合功能:①用散点图来表示数据集;②用残差和置信区间可视化地估计拟合结果的好坏[8];③采用多种拟合方式对数据拟合。利用GUIS界面,可以快速地实现许多基本的曲线拟合。
访问曲线拟合工具箱之前,输入一份供分析的数据;打开曲线拟合工具箱,请输入cftool。该命令可以打开Curve Fitting Tool窗口(见图1)。然后选择Data按钮,打开Data窗口可以访问工作区中的数据并从下拉表中选择变量X、Y(见图2)。在Data set name位置指定一个数据集名称,否则MATLAB将默认一个数据集名称。这时关闭Data窗口。回到Curve Fitting Tool窗口,选择Fitting按钮,打开的
2