用多项式模型进行数据拟合实验报告附代码.docx

上传人:b****8 文档编号:11318900 上传时间:2023-02-26 格式:DOCX 页数:10 大小:235.19KB
下载 相关 举报
用多项式模型进行数据拟合实验报告附代码.docx_第1页
第1页 / 共10页
用多项式模型进行数据拟合实验报告附代码.docx_第2页
第2页 / 共10页
用多项式模型进行数据拟合实验报告附代码.docx_第3页
第3页 / 共10页
用多项式模型进行数据拟合实验报告附代码.docx_第4页
第4页 / 共10页
用多项式模型进行数据拟合实验报告附代码.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

用多项式模型进行数据拟合实验报告附代码.docx

《用多项式模型进行数据拟合实验报告附代码.docx》由会员分享,可在线阅读,更多相关《用多项式模型进行数据拟合实验报告附代码.docx(10页珍藏版)》请在冰豆网上搜索。

用多项式模型进行数据拟合实验报告附代码.docx

用多项式模型进行数据拟合实验报告附代码

实验题目:

用多项式模型进行数据拟合实验

1实验目的

本实验使用多项式模型对数据进行拟合,目的在于:

(1)掌握数据拟合的基本原理,学会使用数学的方法来判定数据拟合的情况;

(2)掌握最小二乘法的基本原理及计算方法;

(3)熟悉使用matlab进行算法的实现。

2实验步骤

2.1算法原理

所谓拟合是指寻找一条平滑的曲线,最不失真地去表现测量数据。

反过来说,对测量

的实验数据,要对其进行公式化处理,用计算方法构造函数来近似表达数据的函数关系。

由于函数构造方法的不同,有许多的逼近方法,工程中常用最小平方逼近(最小二乘法理论)来实现曲线的拟合。

最小二乘拟合利用已知的数据得出一条直线或曲线,使之在坐标系上与已知数据之间的距离的平方和最小。

模型主要有:

1.直线型2.多项式型3.分数函数型4.指数函数型5.对数线性型6.高斯函数型等,根据应用情况,选用不同的拟合模型。

其中多项式型拟合模型应用比较广泛。

给定一组测量数据

,其中

,共m+1个数据点,取多项式P(x),使得

,则称函数P(x)为拟合函数或最小二乘解,此时,令

,使得

,其中

为待求的未知数,n为多项式的最高次幂,由此该问题化为求

的极值问题。

由多元函数求极值的必要条件:

,其中

得到:

,其中

,这是一个关于

的线性方程组,用矩阵表示如下所示:

因此,只要给出数据

,数据点个数m,所要拟合的参数n,就可求出未知数据阵

2.2实验步骤

(1)根据已知数据(ch3huaxuefy.m),绘制出数据的散点图,如图1所示:

注:

x从1开始取值,值与值间隔为1。

y取文件ch3huaxuefy.m中的数据。

图1已知数据散点图

 

(2)计算矩阵

,该矩阵为(n+1)*(n+1)矩阵。

(3)计算矩阵

(4)写出正规方程,求出

(5)绘制出数据拟合后的曲线图。

分别取n=6,n=8,n=10,n=11,n=12,n=13,n=14,曲线图如下所示:

图2n=6时拟合曲线

 

图3n=8时拟合曲线

图4n=10时拟合曲线

图5n=11时拟合曲线

图6n=12时拟合曲线

图7n=13时拟合曲线

3实验结果分析

通过运用最小二乘法对多项式模型进行数据拟合处理,获得n次多项式及其系数

分别取多项式次数n=6,n=8,n=10,n=11,n=12,n=13,n=14绘制拟合曲线,观察曲线图可知,对于最高次数不同的多项式,拟合结果是不一样的,即对于数据的逼近程度是不相同的。

随着n的增大,曲线拟合效果变好;当n=10时,达到最好拟合效果;n继续增大,曲线拟合效果又变差。

因此,对于相同的数据,并不是多项式的次数n越高,拟合程度就越好。

 

4实验结论

通过实际做实验,得出了如下结论:

离散数据点,可以采用多项式模型进行拟合,通过最小二乘法可以求得其最优多项式。

此外,还得出一个结论:

对于数据拟合,并不是多项式次数越高,拟合就越逼近。

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

 

参考文献

[1]陈光,任志良,孙海柱.最小二乘曲线拟合及Matlab实现[J].软件技术,2005.24(3).

[2]陈桂秀.用程序求解最小二乘拟合多项式的系数[J].青海师范大学学报,2010(3).

[3]邵慧莹.数据拟合算法分析及C语言实现[J].信息科学,2009.

[4]马正飞,殷翔.数学计算方法与软件的工程应用[M].北京:

化学工业出版社,2002.

[5]徐士良.数值分析与算法[M]北京:

机械工业出版社,2007.

[6]何仁斌.MATLAB6工程计算及应用[M].重庆:

重庆大学出版社,2001.

附录(源代码)

Matlab

%绘制散点图

x=1:

1:

230;y=[26.6,27,27.1,27.1,27.1,27.1,26.9,26.8,26.7,26.4

26.0,25.8,25.6,25.2,25.0,24.6,24.2,24.0,23.7,23.423.1,22.9,22.8,22.7,22.6,22.4,22.2,22.0,21.8,21.4,20.9,20.3,19.7,19.4,19.3,19.2,19.1,19.0,18.9,18.9,19.2,19.3,19.3,19.4,19.5,19.6,19.6,19.6,19.6,19.6,19.7,19.9,20.0,20.1,20.2,20.3,20.6,21.6,21.9,21.7,21.3,21.2,21.4,21.7,22.2,23.0,23.8,24.6,25.1,25.6,25.8,26.1,26.3,26.3,26.2,26.0,25.8,25.6,25.4,25.2,24.9,24.7,24.5,24.4,24.4,24.4,24.4,24.4,24.3,24.4,24.4,24.4,24.4,24.4,24.5,24.5,24.4,24.3,24.2,24.2,24.0,23.9,23.7,23.6,23.5,23.5,23.5,23.5,23.5,23.7,23.8,23.8,23.9,23.9,23.8,23.7,23.6,23.4,23.2,23.0,22.8,22.6,22.4,22.0,21.6,21.3,21.2,21.2,21.1,21.0,20.9,21.0,21.0,21.1,21.2,21.1,20.9,20.8,20.8,20.8,20.8,20.9,20.8,20.8,20.7,20.7,20.8,20.9,21.2,21.4,21.7,21.8,21.9,22.2,22.5,22.8,23.1,23.4,23.4,23.8,24.1,24.6,24.9,24.9,25.1,25.0,25.0,25.0,25.0,24.9,24.8,24.7,24.6,24.5,24.5,24.5,24.5,24.5,24.5,24.5,24.4,24.4,24.2,24.2,24.1,24.1,24.0,24.0,24.0,23.9,23.8,23.7,23.7,23.6,23.7,23.6,23.6,23.6,23.5,23.5,23.4,23.3,23.3,23.3,23.4,23.4,23.3,23.2,23.3,23.3,23.2,23.1,22.9,22.8,22.6,22.4,22.2,21.8,21.3,20.8,20.2,19.7,19.3,19.1,19.0,18.8,0,0,0,0];

plot(x,y,'*')

xlabel'x轴'

ylabel'y轴'

title'散点图'

holdon

%计算矩阵A

m=229;n=10;

A=zeros(n+1);

forj=1:

n+1

fori=1:

n+1

fork=1:

m+1

A(j,i)=A(j,i)+x(k)^(j+i-2)

end

end

end;

%计算矩阵B

B=[00000000000];

forj=1:

n+1

fori=1:

m+1

B(j)=B(j)+y(i)*x(i)^(j-1)

end

end

%写出正规方程,求出

B=B';

a=inv(A)*B;

%绘制出拟合曲线图

x=[1.0:

0.0001:

230.0];

z=a

(1)+a

(2)*x+a(3)*x.^2+a(4)*x.^3+a(5)*x.^4+a(6)*x.^5+a(7)*x.^6+a(8)*x.^7+a(9)*x.^8+a(10)*x.^9+a(11)*x.^10;

plot(x,z)

legend('离散点'

'y=a

(1)+a

(2)*x+a(3)*x.^2+a(4)*x.^3+a(5)*x.^4+a(6)*x.^5+a(7)*x.^6+a(8)*x.^7+a(9)*x.^8+a(10)*x.^9+a(11)*x.^10')

title('拟合图')

 

感谢下载!

 

欢迎您的下载,资料仅供参考

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1