- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 2
武汉大学数学与统计学院
数学实验报告
实验名称
离散数据的曲线拟合(最小二乘法)
实验时间
2007年 12 月
姓名
王超
班级
类二班
学号
200631000100
成绩
一、实验目的 二、实验内容与步骤 三、实验程序
四、实验结果 五、实验结果的分析 六、实验出现的问题
一、实验目的:
用最小二乘法,在已知函数在点的函数值的情况下,求拟合多项式。同时培养学生编程与上机调试程序的能力
即构造m阶最小二乘多项式
拟合n个数据点
二、实验内容与步骤:
1、根据拟合的要求确定算法:
第一步:先选定一组函数r1(x), r2(x), …rm(x), mn,令f(x)=a1r1(x)+a2r2(x)+ …+amrm(x) (1)
其中a1,a2, …am为待定系数。
问题归结为,求a1,a2, …am使J(a1,a2, …am)最小。
第二步: 确定a1,a2, …am的准则(最小二乘准则):使n个点(xi,yi) 与曲线y=f(x) 的距离δi 的平方和最小。
第三步:构造超定方程组F
第四步:超定方程组得求解:利用,求解可得系数矩阵A
2、根据算法编写MATLAB程序(见下)。
3、以函数生成的6个数据点(0.25,23.1),(1.0,1.68), (1.5,1.0),(2.0,0.84),(2.4,0.826),(5.0,1.2576)为例,运行程序得到不同阶对应的曲线拟合产生的多项式函数。
三、实验程序:
function
function C=lploy(X,Y,m)
n=length(X);
B=zeros(1,m+1);
F=zeros(n,m+1);
for k=1:m+1;
F(:,k)=X.^(k-1);
end
A=F*F;
B=F*Y;
C=A\B;
C=flipud(C);
程序说明:1、X,Y分别表示包含的1*n的矩阵,m表示根据数据点所要拟合的多项式的次数()。
2、MATLAB函数flipud(X)表示把1*N矩阵元素逆序排列。在程序中通过使用该函数,使产生的序列为关于x的多项式的降幂排列的系数。
四、实验结果
X=[0.25 1 1.5 2 2.4 5];Y=[23.1 1.68 1 0.84 0.826 1.2576];C=lploy(X,Y,2)
X=[0.25 1 1.5 2 2.4 5];Y=[23.1 1.68 1 0.84 0.826 1.2576];C=lploy(X,Y,2)
C =
2.5532 -16.9620 22.9309
X=[0.25 1 1.5 2 2.4 5];Y=[23.1 1.68 1 0.84 0.826 1.2576];C=lploy(X,Y,3)
C =
-2.2955 19.5064 -46.5074 33.0372
X=[0.25 1 1.5 2 2.4 5];Y=[23.1 1.68 1 0.84 0.826 1.2576];C=lploy(X,Y,4)
C =
1.6803 -17.1522 58.3927 -80.9324 39.9168
X=[0.25 1 1.5 2 2.4 5];Y=[23.1 1.68 1 0.84 0.826 1.2576];C=lploy(X,Y,5)
C =
-1.0853 13.0268 -57.5051 119.3596 -118.1395 46.0236
注:程序运行结果依次为根据数据点拟合产生的2—5次的关于x的多项式的系数的降幂排列。
五、实验结果的分析:
原函数图像以及拟合后不同阶的函数图像如下列图形所示:
(见下页)
由以上图形观察可知:
1、不一定阶数越高,拟合的精度就越好。
2、对于非线性数据,有时使用多项式函数拟合,产生的误差可能很大。
3、在不同的区间,不同阶数的函数拟合的效果不同。所以有时分段使用多项式函数进行拟合,效果可能更好。如本题,在区间[0,1.5],m=3的拟合效果最好,而在区间[1.5,2.5],m=5的拟合效果最好。
4、通过以上图形,也可以看出函数插值与曲线拟合的异同。两者都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学方法上是完全不同的。一个要求通过所给的数据点,而另一个则要求使平方和最小。
m=4原函数图像
m=4
原函数图像
6
文档评论(0)