数值算法 --- 基于最小二乘法的曲线拟合
- 格式:doc
- 大小:380.50 KB
- 文档页数:21
学校代码: 编号: 贵 州 民 族 学 院
毕 业 论 文(设计) GUIZHOU UNIVERSITY FOR NATIONLITIES
论文题目 数值算法 --- 基于最小二乘法的曲线拟合
院 (系) 算机与信息工程学院 专 业 电子信息科学与技术 班 级 06 级 电 子 一 班 姓 名 汤 克 强 学 号: 200612030013 指导教师: 蔡 立 完成日期 2010.5.9 贵州民族学院毕业论文 华人论文网 http://www.essaydata.com
I 数值算法----基于最小二乘法的曲线拟合
汤克强 摘 要: 随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向日常学习中遇到的小型数据的处理与计算,这就产生了解决各种实际问题需要的各种应用程序,特别是在物理实验中的应用更为广泛。本文通过完成一个以C语言和数学知识相结合为核心的应用软件(基于最小二乘法的曲线拟合)的设计、编写、测试,并制作相应的使用文档,在此基础上,为广大师生提供一个实验数据处理的软件,增强实验效果,提高工作学习效率。 关键词: 最小二乘法 曲线拟合 误差 高斯消去法 主元 C语言
Numerical algorithm----based on least squares curve fitting
TangKeQiang Abstract: Along with the development of science and technology and social progress, especially the large range of popularization of computer application, computer by large-scale scientific computing gradually to the mass data processing daily study met in small data processing and calculation, it will produce a variety of problems need to solve all kinds of application, especially in the application of physics experiment is more widely. Based on C language and a mathematical knowledge is the core of combining application software (based on the least squares of curve fitting) design, write, and testing, and making use of the relevant document, on this basis, for teachers to provide a experimental data processing software, enhance the experimental effect and improve work efficiency. Key Words: Least-square method The curve fitting Error The gaussian elimination method The yuan C language 作者:汤克强 (计算机与信息工程学院 06级电子班) 指导教师:蔡 立
II 目录 第1章 绪 论 .......................................................................... 1 1.1研究的目的和意义 ............................................................... 1 1.2研究现状 ....................................................................... 1 第2章 数据建模 ..................................................................... 2 2.1 基于最小二乘法曲线拟合的概述 ................................................ 2 2.1.1问题的引入 ............................................................... 2 2.1.2量与量之间的关系 ......................................................... 2 2.1.3最小二乘法的引入 ......................................................... 3 2.1.4 最小二乘法曲线 .......................................................... 3 2.2用最小二乘法进行曲线拟合注意的几个问题 ......................................... 6 2.2.1 高斯消去法 .............................................................. 6 2.2.2线性方程组解的讨论 ....................................................... 8 2.3 选主元 ...................................................................... 8 2.3.1 选主元以避免主元为零 .................................................... 8 2.3.2 选主元目的以减少误差 ................................................... 9 第3章 程序设计 .................................................................... 10 3.1程序流程图3.2 程序主要函数 .................................................. 10 3.2 程序主要函数 ................................................................ 11 3.2.1 输入函数 ............................................................... 11 3.2.2把输入的数据与所设方程转化为方程组 ...................................... 11 3.2.3 化为上三角矩阵的形式 ................................................... 11 3.2.4解方程的系数 ............................................................ 11 3.3核心代码 ...................................................................... 13 第4章 程序测试 .................................................................... 15 4.1 测试的目的与方法 ............................................................. 15 4.2 测试与结果分析 ............................................................... 15 4.2.1 测试 ................................................................... 15 4.2.2 结果分析 ............................................................... 16 结论 ................................................................................. 17 致谢 ................................................................................. 17 参考文献 ............................................................................. 17 贵州民族学院毕业论文 华人论文网 http://www.essaydata.com
1 第1章 绪 论
1.1研究的目的和意义 完成一个以C语言和数学知识相结合为核心的应用软件的设计、编写、测试,制作相应的使用文档。进行用C语言编程解决实际问题的训练。把所学知识做一次综合性的应用,熟练各门课之间的结合,巩固和提高大学四年来所学的知识;掌握用C语言编程的技巧,在此基础上,为广大师生提供一个实验数据处理的软件,提高实验效果。
1.2研究现状 随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由大规模科学计算的海量数据处理转向日常学习中遇到的小型数据的处理与计算,这就产生了解决各种实际问题需要的各种应用程序,特别是在物理实验中的应用更为广泛。 对于数据的处理,特别是物理实验中得出的大量的数据,用手工笔算已显得不适应与不现实,为了提高实验的准确度,减少由于手工计算产生的误差。这样,编写相应的数据处理程序就势在必行。 在手动对数据的处理中,特别是待处理数据较多,小数位数较长,计算过程又较复杂的情况下,这样效率将变得十分低下,且由于数据之间的复杂关系,每一细微的偏差在累积计算过程中将逐渐扩大,每一细节过程的出错将导致整个结果的错误, 我们的程序编写的整体任务是实现数据的计算机处理,从而减小误差,增加计算结果的准确度,提高工作学习效率。 美国MathWorks公司出品的商业的数学软件——MATLAB,也能很好的处理数值计算,进行曲线拟合,但是MATLAB的缺点是它和其他高级程序相比,程序的执行速度较慢,由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。用办公软件Office集中的Excel也能进行曲线拟合,但是用Excel进行数据的曲线拟合时,有效位数较少,精度不够,只能进行粗略的估算,所以在要求较严格的计算中,并不能满足要求。