您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页实验报告-使用多项式模型拟合数据

实验报告-使用多项式模型拟合数据

来源:尚车旅游网
实验题目: 使用多项式模型进行数据拟合 1 实验目的

数据拟合在实际的生产和生活中有着广泛应用。本实验使用多项式模型对数据进行拟合,目的在于掌握数据拟合基本的基本原理,并且掌握最小二乘法的计算方法,同时学会使用数学的方法来判定数据拟合的情况。

2 实验步骤

2.1 算法原理

(1)最佳均方逼近多项式

*HP(x)Hn,使得 n设是次数不超过n次的全体多项式集合。若存在n

||f(x)Pn*(x)||2min||f(x)Pn(x)||2*Pn(x)Hn

*P(x)是f(x)在[a,b]上的最佳均方逼近多项式。 n则称

n 设

Pn(x)akxkk0*P(x),就是求一组系数n,则求最佳均方逼近多项式

ak(k0,1,...,n)使得

ba*k[f(x)akx]dxk0nn2Pn(x)Hnminba[f(x)akxk]dxk0n2

由于积分

[f(x)ax]dxkakk0b2是待定系数

ak的多元函数,记做I(a0,a1,...,an)。由函数

**aP(x)为最小均方逼近kn极值条件得到方程组,解方程组,可得到唯一确定的,从而得到

多项式。

(2)最小二乘法

在最小均方逼近多项式的讨论中,f(x)已知。但在多数情况下,我们不能确切的指导f(x),只能知道一组数据乘法。

设给定一组m个数量的数据

{xi,yi},将最小均方误差的思想用于点集上,便得到曲线拟合的最小二

{xi,yi},{0,1,...n}是xi所在区间的连续函数集合,

n1,x,...x01n对于多项式:。取权值函数W(x)1,在公式中未写出。若存在

S(x)akk(x)*k0n,使得误差平方和最小,即

[S(x)y]*iii1m2min[S(xi)yi]2s(x)i0m,

*S则(x)是最小二乘逼近多项式。

mn设

I(a0,a1,...,an)[akk(xi)yi]2i0k0*S(x)转化为极值问题。由,求

mnI0,k0,1,...n[akk(xi)yi]j(xi)0aak,可得关于k的线性方程组i0k0,此式即

为法方程。法方程化简可得:

(,)ajkk0nk(j,f),k0,1,...,n

**aakk由上式,可以唯一的确定,且满足最小二乘条件。得到了系数,就可以唯一的确*P(x)。 n定数据的多项式拟合

(3)数据拟合的评价

在(1)中,提出了最小均方逼近的概念,对于数据拟合,可以通过求其均方误差来描述数据的逼近程度。均方误差的定义如下:

n*||||2[S(xi)yi]2i0

其均方误差越小,多项式逼近数据效果越好。

1/22.2 算法步骤

(1)读入数据点对

{xi,yi}

(2)通过最小二乘拟合方法,计算多项式参数

ak

'axykii(3)利用多项式参数,计算多项式在处对应的值

(4)计算均方误差

||||2

2.3 程序流程图

开始 读入数据点对 坐标描点 计算多项式参数 利用多项式参数绘制多项式曲线 计算均方误差 结束

图1 多项式数据拟合流程图

数据采用的是eggs.txt文件中的数据。由于数据中,只是一个数组,所以横坐标

认为是数据的下标值,即0,1,2,3….N-1。横坐标和纵坐标值分别存放在data_x.txt和data_y.txt文件中。计算多项式参数的方法采用最小二乘法。

3 实验结果分析

首先对原始数据进行描点(如图中的红色点所示),由一般的函数经验可知,此多项式的最高次数n>5。因此,实验结果的截图中,分别展示了n=7,n=10,n=12的截图。

图2 n=7拟合结果图

图3 n=10拟合结果图

图4 n=12拟合结果图

上面的图2,图3,图4分别是n=7,n=10和n=12的拟合结果图。从图中可以看出,对

于不同的最高次数的多项式,拟合结果是不一样的,即对于数据的逼近程度是不相同的。其对应的误差平方和分别是

n7799.56,n10304.86,n124530.69。实际上,对

于实验数据,其最好的拟合多项式是最高次数n=10。实验表明:对于数据,可以采用多项式来拟合曲线。同时,从实验中我们可以看出,对于相同的数据,并不是多项式的次数越高,拟合程度越好。

4 实验结论

在实验中,得出了如下结论:离散数据点,可以采用多项式进行拟合,通过最小二乘法

可以求得其最优多项式。对于拟合结果和原始数据的差异,用均方误差来表示。其定义在算法原理(3)中已经给出。计算结果可以从程序中得到。

此外,还得到一个结论:对于数据拟合,并不是多项式次数越高拟合越逼近。对此,在

数值分析的参考书中找到了原因,这是龙格现象。即对于一个等间距节点的高次插值多项式,不收敛于插值函数f(x)。

5 实验心得体会

1、数据权值问题

在最小二乘拟合中,有一个权值函数W(x),定义在数据区间上。此函数的意义在于,

对于给定的数据点,可以赋予不同的权值,即数据的可信度。因为最小二乘拟合不同于插值法,要求严格的过数据点。因此,对于某些数据拟合来说,若要求某些数据点有较高的权值和优先级,采用不同的权值是必要的。在本实验中,数据的权值都W(x)1。 2、VC++图形的绘制

在编程过程中,遇到的主要问题是图形的绘制。对于不同的数据,坐标轴是可以伸缩的,

并且代表了不同的比例。

3、如果不采用多项式拟合,有比多项式拟合更逼近于原始数据点的拟合方法吗?

参考文献

[1] 数值分析/龙熙华编著.-西安,陕西科学技术出版社,2005.8

[2] Matlab数理统计分析/周品,赵新芬编著.-北京,国防工业出版社,2009.4

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务