I毕业设计(论文)题目最小二乘法原理,VC++实现及应用学院理学院专业信息与计算科学学生姓名班级/学号指导老师/督导老师起止时间:年月日至年月日摘要摘要II最小二乘法(又称最小平方法)是一种数学优化技术,是利用最小化误差的平方和寻找数据的最佳函数匹配的一种计算方法[1],目前在测量学、城市道路规划、物理学、地质勘探学、概率论、统计学等领域有着广泛的应用。本文对最小二乘法进行了深入细致的研究,利用VisualC++编制程序实现最小二乘法的界面化设计,通过实验数据的输入,实现线性和二次拟合曲线的输出,并利用设计的程序实现了一些实际问题的求解和处理。关键词:最小二乘法;曲线拟合;VisualC++AbstractIIAbstractTheleastsquaremethod(alsocalledtheleast-squaremethod)isakindofmathematicaloptimizationtechnique,anditisacalculationmethodminimizingtheerrorsumofsquarestofindthebestfunctionmatchingofthedata,ithasbeenwidelyappliedinthefieldofsurveying,urbanroadplanning,physics,geologicalexploration,science,probabilitytheoryandstatisticsetc.Inthispaper,westudytheleastsquaremethodcarefully,anduseVisualC++programtorealizetheleastsquaremethodoftheinterfacedesign,throughtheexperimentdatainput,realizetheoutputtothelinearandsecondarycurvefitting,anduseprogramsdesignedtoachieveanumberofpracticalproblemssolvingandhandling.Keywords:Theleastsquaremethod;Thecurvefitting;VisualC++;III目录目录摘要...........................................................................................................................................ⅠAbstract.......................................................................................................................................Ⅱ第一章概述.................................................................................................................................Ⅲ1.1最小二乘法简介...........................................................11.2VC++的介绍及其应用......................................................21.3论文的主要结构安排.......................................................3第二章基本理论.........................................................................................................................42.1线性拟合曲线.............................................................42.2二次拟合函数.............................................................52.3多元线性拟合.............................................................6第三章最小二乘法曲线拟合的VC++实现..................................................................................93.1程序实现最小二乘法流程图.................................................93.2界面设计................................................................103.3主要函数类..............................................................143.4程序设计中的问题........................................................15第四章最小二乘法的应用.....................................................................................................164.1测定铜丝的电阻温度系数..................................................164.2最小二乘法在道路中心线测量中应用........................................194.3最小二乘法在工业纯碱中铁含量测定中的应用................................214.4应用效果分析............................................................23结束语...........................................................................................................................................24参考文献......................................................................................................................................25最小二乘法原理,VC++实现及应用1第一章概述1.1最小二乘法简介最小二乘法是法国大数学家A.M.Legendre最先于1805年发表的,其动机是为处理一类从天文学和测地学中提出的数据分析问题。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小[3]。最小二乘法还可用于曲线拟合,工程施工中,我们会经常取得一些相关的数据,这些数据往往来自与施工密切相关的测量或实验中,我们可以通过作图或多段插值取得变量之间的联系,但作图和插值查图往往误差较大。这时可采用最小二乘法先拟合出一个多项式,再根据此多项式求解任一自变量所对应的因变量较精确的结果,据此绘图可得到较精确、较合理的曲线[4]。1801年,意大利天文学家朱赛普·皮亚齐发现了第一颗小行星谷神星[2],经过40天的跟踪观测后,由于谷神星运行至太阳背后,使得皮亚齐失去了谷神星的位置。随后全世界的科学家利用皮亚齐的观测数据开始寻找谷神星,但是根据大多数人计算的结果来寻找谷神星都没有结果。时年24岁的高斯也计算了谷神星的轨道。奥地利天文学家海因里希·奥尔伯斯根据高斯计算出来的轨道重新发现了谷神星。高斯使用的最小二乘法的方法发表于1809年他的著作《天体运动论》中。法国科学家勒让德于1806年独立发现“最小二乘法”,但因不为世人所知而默默无闻。勒让德曾与高斯为谁最早创立最小二乘法原理发生争执[5]。1829年,高斯提供了最小二乘法的优化效果强于其他方法的证明,因此被称为高斯-莫卡夫定理。最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达[6]。最小二乘法作为函数逼近的一种重要方法,广泛的应用于物理学、测绘学、数值计算、大地测量学等。最小二乘法在19世纪初发明后,很快得到欧洲一些国家的天文和测地学工作者的广泛使用[7]。据不完全统计,自1805年至1864年的60年期间,有关这一方法的研究论文约250篇,一些百科全书,包括1837年出版的不列颠百科全书第7版,都收进了有关这个方法的介绍。在研究论文中,有一些是关于最小二乘估计的计算,这涉及解线性方程组。高斯也注意了这个问题,给出了正则方程的命名并发展了解方程的消去法。但是,在电子计算机出现以前,当参数个数较大时,计算任务很繁重[8]。1858年,英国为绘制本国地图作了一次大型的测绘,其数据处理用最小二乘法涉及模型中,用两组人员独立计算,花了两年半的时间才完成。1958年我国某研究所计算一个炼钢方面的课题,涉及用最小二乘法解13个自变量的线性回归,30余人用电动计算机算,夜以继日花了一个多月的时间[9]。勒让德的工作没有涉及最小二乘法的误差分析问题。这一点由高斯在1809年发表的正态误差理论加以补足。高斯的这个理论对于最小二乘法之用于数理统计有极重要意义[10]。本文介绍了最小二乘法在实际测量学中的应用,以纯碱中铁含量的测定为例,碳酸钠是钻井液中常用的添加剂之一,主要用来调节PH值和对膨润土进行增效。铁含量是评价碳酸最小二乘法原理,VC++实现及应用2钠质量的一项重要指标,其含量大小直接影响碳酸钠的使用效果。测试碳酸钠铁含量的主要方法是邻菲罗啉分光光度法,样品溶液的吸光度随铁含量的不同呈线性变化。在曲线绘制的过程中,人为因素对实验数据的影响较大。运用最小二乘法,对所测得的数据统计分析、处理后进行线性加归,可以较好地提高测试结果的准确性与可靠性[11]。1.2VC++的介绍及其应用MicrosoftVisualC++(简称VisualC++、MSVC、VC++或VC)微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++及C++/CLI等编程语言。VC++整合了便利的出错工具,特别是整合了微软视窗式设计(WindowsAPI)、三维动画DirectXAPI,Microsoft.NET框架。目前最新的版本是MicrosoftVisualC++2010。MicrosoftVisualC++以拥有“语法高亮”,InteriSense(自动编译功能)以及高级出错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。这些特征明显缩短程式编辑、编译及连结的时间花费,在大型软件计划上尤其显著。VisualStudio是微软公司推出的开发环境,VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应