最小二乘法原理VC++实现及应用毕业设计.doc
《最小二乘法原理VC++实现及应用毕业设计.doc》由会员分享,可在线阅读,更多相关《最小二乘法原理VC++实现及应用毕业设计.doc(41页珍藏版)》请在三一办公上搜索。
1、北京信息科技大学 毕业设计(论文) 题目 最小二乘法原理,VC+实现及应用 学院 理学院 专业 信息与计算科学 学生姓名 班级/学号 指导老师/督导老师 起止时间: 年 月 日 至 年 月 日 摘 要最小二乘法(又称最小平方法)是一种数学优化技术,是利用最小化误差的平方和寻找数据的最佳函数匹配的一种计算方法1,目前在测量学、城市道路规划、物理学、地质勘探学、概率论、统计学等领域有着广泛的应用。本文对最小二乘法进行了深入细致的研究,利用Visual C+编制程序实现最小二乘法的界面化设计,通过实验数据的输入,实现线性和二次拟合曲线的输出,并利用设计的程序实现了一些实际问题的求解和处理。关键词:最
2、小二乘法;曲线拟合; Visual C+Abstract The least square method (also called the least-square method) is a kind of mathematical optimization technique, and it is a calculation method minimizing the error sum of squares to find the best function matching of the data, it has been widely applied in the field of s
3、urveying , urban road planning, physics, geological exploration , science , probability theory and statistics etc. In this paper, we study the least square method carefully, and use Visual C+ program to realize the least square method of the interface design, through the experiment data input, reali
4、ze the output to the linear and secondary curve fitting, and use programs designed to achieve a number of practical problems solving and handling.Key words: The least square method; The curve fitting; Visual C+; 目 录摘 要Abstract第一章 概述1.1 最小二乘法简介11.2 VC+的介绍及其应用21.3 论文的主要结构安排3第二章 基本理论42.1 线性拟合曲线42.2 二次拟
5、合函数52.3 多元线性拟合6第三章 最小二乘法曲线拟合的VC+实现93.1 程序实现最小二乘法流程图93.2 界面设计103.3 主要函数类143.4 程序设计中的问题15第四章最小二乘法的应用164.1 测定铜丝的电阻温度系数164.2 最小二乘法在道路中心线测量中应用194.3 最小二乘法在工业纯碱中铁含量测定中的应用214.4 应用效果分析23结束语24参考文献25第一章 概述1.1 最小二乘法简介最小二乘法是法国大数学家A.M.Legendre 最先于1805年发表的,其动机是为处理一类从天文学和测地学中提出的数据分析问题。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘
6、法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小3。最小二乘法还可用于曲线拟合,工程施工中,我们会经常取得一些相关的数据,这些数据往往来自与施工密切相关的测量或实验中,我们可以通过作图或多段插值取得变量之间的联系,但作图和插值查图往往误差较大。这时可采用最小二乘法先拟合出一个多项式,再根据此多项式求解任一自变量所对应的因变量较精确的结果,据此绘图可得到较精确、较合理的曲线4。1801年,意大利天文学家朱赛普皮亚齐发现了第一颗小行星谷神星2,经过40天的跟踪观测后,由于谷神星运行至太阳背后,使得皮亚齐失去了谷神星的位置。随后全世界的科学家利用皮亚齐的观测数据开始寻
7、找谷神星,但是根据大多数人计算的结果来寻找谷神星都没有结果。时年24岁的高斯也计算了谷神星的轨道。奥地利天文学家海因里希奥尔伯斯根据高斯计算出来的轨道重新发现了谷神星。高斯使用的最小二乘法的方法发表于1809年他的著作天体运动论中。 法国科学家勒让德于1806年独立发现“最小二乘法”,但因不为世人所知而默默无闻。 勒让德曾与高斯为谁最早创立最小二乘法原理发生争执5。 1829年,高斯提供了最小二乘法的优化效果强于其他方法的证明,因此被称为高斯-莫卡夫定理。最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使
8、得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达6。最小二乘法作为函数逼近的一种重要方法,广泛的应用于物理学、测绘学、数值计算、大地测量学等。最小二乘法在19世纪初发明后,很快得到欧洲一些国家的天文和测地学工作者的广泛使用7。据不完全统计,自1805年至1864年的60年期间,有关这一方法的研究论文约250篇,一些百科全书,包括1837年出版的不列颠百科全书第7版,都收进了有关这个方法的介绍。在研究论文中,有一些是关于最小二乘估计的计算,这涉及解线性方程组。高斯也注意了这个问题,给出了正则方程的命名并发
9、展了解方程的消去法。但是,在电子计算机出现以前,当参数个数较大时,计算任务很繁重8。1858年,英国为绘制本国地图作了一次大型的测绘,其数据处理用最小二乘法涉及模型中,用两组人员独立计算,花了两年半的时间才完成。1958年我国某研究所计算一个炼钢方面的课题,涉及用最小二乘法解13个自变量的线性回归,30余人用电动计算机算,夜以继日花了一个多月的时间9。勒让德的工作没有涉及最小二乘法的误差分析问题。这一点由高斯在1809年发表的正态误差理论加以补足。高斯的这个理论对于最小二乘法之用于数理统计有极重要意义10。 本文介绍了最小二乘法在实际测量学中的应用,以纯碱中铁含量的测定为例,碳酸钠是钻井液中常
10、用的添加剂之一,主要用来调节PH值和对膨润土进行增效。铁含量是评价碳酸钠质量的一项重要指标,其含量大小直接影响碳酸钠的使用效果。测试碳酸钠铁含量的主要方法是邻菲罗啉分光光度法,样品溶液的吸光度随铁含量的不同呈线性变化。在曲线绘制的过程中,人为因素对实验数据的影响较大。运用最小二乘法,对所测得的数据统计分析、处理后进行线性加归,可以较好地提高测试结果的准确性与可靠性11。 1.2 VC+的介绍及其应用Microsoft Visual C+(简称Visual C+、MSVC、VC+或VC)微软公司的C+开发工具,具有集成开发环境,可提供编辑C语言,C+及C+/CLI等编程语言。VC+整合了便利的出
11、错工具,特别是整合了微软视窗式设计(Windows API)、三维动画DirectX API,Microsoft .NET框架 。目前最新的版本是Microsoft Visual C+ 2010。Microsoft Visual C+以拥有“语法高亮”,InteriSense(自动编译功能)以及高级出错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。这些特征明显缩短程式编辑、编译及连结的时间花费,在大型软件计划上尤其显著。Visual Studio 是微软
12、公司推出的开发环境,Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。VisualStudio是目前最流行的Windows平台应用程序开发环境。目前已经开发到10.0版本,也就是 VisualStudio 201012。VC+包括了各种增强功能,例如可视化设计器(使用NET Framework 3.5加速开发)、对Web开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。Visual Studio 2008为开发人员提供了所有相关的工具和框架支持,帮助创建引人
13、注目的、令人印象深刻并支持AJAX的Web应用程序。开发人员能够利用这些丰富的客户端和服务器端框架轻松构建以客户为中心的Web应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前浏览器内运行并完全访问ASP NET应用程序服务和Microsoft平台。 图1 VC+6.0启动界面MFC是对WindowsAPI的封装,大大简化了我们的工作;学VC+主要就是要学MFC,大约有100多个类,但常用的也就二三十个。应该像背4级单词一样将这些常用类搞懂;当然不要死记,要通过看帮助、看例子、动手练习来学会它们;而且,并非每个类的内部的所有函数都要学会,要日积月累。如果真的想成为高手,做个笔记本把
14、自己认为重要的类、函数记下来,随时学习,也是很好的突击方法。 1.3 论文的主要结构安排论文的第二章详细介绍最小二乘法的一些算法以及它们的推导过程;第三章利用VC+实现线性和二次曲线拟合算法;第四章利用设计的程序解决了一些实际应用问题;最后为结束语。第二章 基本理论 本章将主要介绍最小二乘法曲线拟合,包括其公式的推导。对于最小二乘算法,本论文只进行一些简要的概述,简单介绍三种:线性拟合、二次拟合函数、多元线性拟合。最小二乘法(又称最小平方法)是一种数学优化技术,主要的思想是通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误
15、差的平方和为最小13。2.1 线性拟合曲线线性拟合在统计学上称为线性回归。设,为一组已知观测数据,拟合函数为一直线,即 (1)其中为待定参数,为误差。 式(1)表示随着的增加而线性增加或减少。按最小二乘法计算步骤,得各数据点的误差平方和为 (2)对式(2)求的偏导数,并使其等于0 (3)或 (4)这个方程组称为正规方程组,用消元或克莱姆法则,可求得方程组的解 (5) 其中,分别称为数据的平均值。令 则式(5)可写成 (6) 称为数据的方差,开平方后的称为标准差:为间的协方差,当其为0时线性拟合函数不存在。求得后就可写出具体的拟合函数表达式5。2.2 二次拟合函数 已知数据,,用的二次多项式拟合
16、变量,即 (7)其中为待定参数,为误差。为了计算方便,在解方程组时减少一个未知数,由式(7)得到 (8)代入式(7)因此,有误差平方和对求偏导数,并使其等于0 (9)整理得到正规方程组 (10)或 (11)解此方程组,得到,再代入式(8)得,因而求得在最小二乘意义下的二次拟合函数5。2.3 多元线性拟合 多元线性拟合在统计学上称为多元线性回归,它表示一个变量受多个因素的影响。设变量和有组观测数据关于的拟合函数为线性,即其中参数也是由最小二乘法确定,即要求因此应该满足 (12)由式(12)中的第一式可得 (13)将式(13)代入(12)中的第二偏导数,可得 (14) (15)称之为与,与之间的协
17、方差,它们表示彼此间现行相关的大小。若,表示与,与为线性正相关;否则为线性负相关,表示增加而(或)减少。当时的方差,因此式(14)可写成 (16)这是由个方程求解的个未知数的方程组可用高斯-约当消去法求解方程组(16)可以写成矩阵形式 (17)其中矩阵称为协方差矩阵。由于,因此协方差矩阵是对称的。 令 ,其中为的方差, 则式(16)和(17)可以分别写成 (18)和 (19)其中 , (20)分别称为与,与的相关系数,表现相互间线性相关的程度。,。当为正相关;当为负相关,越接近1,则线性相关越好;越接近于0,则线性关系越弱。 由方程(16)和(17)求解比较直观,计算较为简单。由方程(18)和
18、(19)求解较为复杂,但计算误差较小,计算后由 (21)求得,再由式(13)计算,得到线性拟合函数的具体表达式 (22) 如果试验是要通过的测量来寻找经验公式,则还应判别由上述拟合所得的方程是否恰当。这可由的相关系数来判别6: 第三章 最小二乘法曲线拟合的VC+实现 在这一章,我们将把最小二乘法曲线拟合在VC+的平台上实现出来,利用其可视化界面,给曲线拟合带来便利。3.1 程序实现最小二乘算法及流程图 根据上一章2.1节总结出最小二乘线性拟合算法的具体步骤为:步1. 由方差公式求偏导获得方程组 步2.输入数据获得矩阵步3.计算A的转置矩阵步4. ,解方程组获得系数步5. 计算步6. 输出运算结
19、果根据以上步骤总结出算法流程图如下: 开始输入拟合次数T,坐标点数N,输入x,y坐标获得矩阵A计算x,y平均值获得A矩阵的逆矩阵BB获得矩阵C计算相关系数解方程组 获得系数输出结束图2 系统流程图3.2 界面设计所有的算法是在VC+6.0下设计的,我们只需运行程序,在视图中将显示结果.所有的操作请参看下图:图3 程序界面 查看版本信息图4 帮助信息选择菜单曲线拟合下的输入参数,将弹出输入参数对话框,如图: 图5 选择功能 运行程序,点击“曲线拟合”,选择“输入参数”(必输项)。图6参数窗口 参数窗口中,“输入值”,为拟合次数,必录项(整型),即:时,拟合曲线为线性一次函数。时,拟合曲线为二次函
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最小二乘法原理,VC+实现及应用 毕业设计 最小二乘法 原理 VC 实现 应用
链接地址:https://www.31ppt.com/p-2539712.html