实验目的与实验环境
掌握曲线拟合的最小二乘法
探求拟合函数的选择与拟合精度间的关系
实验环境
操作系统:Windows XP
程序语言:Python 2.5和C++
二、实验内容与实验步骤
实验内容:
利用数据拟合的最小二乘法从一组数据中找出其规律性,并给出其数学模型的近似表达式。
三、实验过程与分析
1.在试验过程中,由于计算公式较为复杂,在编程实现过程中遇到很多逻辑错误。例如在使用SOR方法解正则方程组时,计算迭代向量时错误的把下标值写错,从而导致计算结果错误,而这类错误很难发现,为了解决此类问题,故在调试阶段,所进行测试的数据为已知精确函数的一些数据值,每完成一系列计算,就打印出计算结果,与已知精确函数相比较,从而找出这些错误的出处。
2.在使用SOR方法求解正则方程组时,由于松弛因子选择不当,使得达到精度要求所进行的迭代次数很大,为了能够较快的达到精度要求,多次改变了松弛因子的取值,在经过多次修改取值后发现当松弛因子取值为1.36时相对较快。
四、实验结果总结
实验测试中分别用最小二乘法进行三次多项式、二次多项式、四次多项式的曲线拟合,并计算出了三个拟合曲线的均方误差。由运行结果可知,三次多项式的均方误差小于二次多项式的均方误差,二次多项式的均方误差小于四次多项式的均方误差,因此,三次多项式的拟合曲线相对较好。
通过此次试验,使我对最小二乘法有了更加深刻的认识,对其在生产实践和科学实验中的应用也有了一定的了解。在求解正则方程组时使用了SOR方法,也使得我更加熟练的掌握SOR求解方程组的方法。同时,通过将书中的理论公式转换为代码,使得我的编程能力有了一定的提高。
1