曲线拟合实验资料报告材料_第1页
曲线拟合实验资料报告材料_第2页
曲线拟合实验资料报告材料_第3页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数值分析课程设计报告学生学生学号所在班级 指导教师成绩评定一、课程设计名称函数逼近与曲线拟合二、课程设计目的及要求实验目的:学会用最小二乘法求拟合数据的多项式,并应用算法于实际问题。学会基本的矩阵运算,注意点乘和叉乘的区别。实验要求:编写程序用最小二乘法求拟合数据的多项式,并求平方误差,做出离散函数和拟合函数的图形;用MATLAB勺部函数polyfit 求解上面最小二乘法曲线拟合多项式的系数及平方误差,并用MATLA的部函数plot作出其图形,并与(1)结果进行比较。三、课程设计中的算法描述用最小二乘法多项式曲线拟合,根据给定的数据点,并不要求这条曲线精确的经过这些点,而是拟合曲线无限逼近离散

2、点所形成的数据曲线思路分析:从整体上考虑近似函数p(x)同所给数据点(Xi,y)误差即误差向量的ri p(Xi) y的大小,常用的方法有三种:一是误差rip(xj y绝对值的最大值maxi,即误差向量的无穷数;二是误差绝对值的和m数;三是误差平方和ri2的算术平方根,即类似于误差向量的 2数。前两种方i 0法简单、自然,但不便于微分运算,后一种方法相当于考虑 2数的平方,此次采 用第三种误差分析方案。算法的具体推导过程:1.设拟合多项式为:2. 给点到这条曲线的距离之和,即偏差平方和:n於=y技:-s +引八+叫册3. 为了求得到符合条件的a的值,对等式右边求忙偏导数,因而我们得到了:4. 将

3、等式左边进行一次简化,然后应该可以得到下面的等式nit旬11十引工勺十十珂i - 1i - 1nnn引 Qi + 幻f i = 1i = 1i 1引工心+比J ; 1 4 - + % 丫淬i - Li - 1i = 15. 把这些等式表示成矩阵的形式,就可以得到下面的矩阵:nXii 1nXii 1n2Xi 1nkXii 1nk 1Xi 1a。aiyiyinkXii 1nk 1Xii 12kxakyi6. 将这个德蒙得矩阵化简后得到1 %1 X2kX1kX2a。aiyiY21XnkXnakYn7. 因为X* A Y,那么A 丫/X,计算得到系数矩阵,同时就得到了拟合曲线。四、课程设计容实验环境:

4、MATLAB2010实验容:给定的数据点(叫儿)00.50.60.70.80.91.011.751.962.192.442.713.001)用最小二乘法求拟合数据的多项式;2)用MATLAB?函数polyfit函数进行拟合实验步骤1)首先根据表格中给定的数据,用 MATLAB件画出数据的散点图(图1)。2)观察散点图的变化趋势,近似于二次函数。则用二次多项式进行拟合,取一组基函数Ph并令fdW +够+旳,其中珂是待定系数("123)1。3)用MATLAB?序作线性最小二乘法的多项式拟合,求待定系数算法实现代码如下:x=0 0.5 0.6 0.7 0.8 0.9 1.0;y=1 1.7

5、5 1.96 2.19 2.44 2.71 3.00;R=(x.A2)' x' on es(7,1);A=Ry'4) 用MATLAB?序计算平均误差。算法实现代码如下:y1=1 1.75 1.96 2.19 2.44 2.71 3.00;x=0 0.5 0.6 0.7 0.8 0.9 1.0;y=x.A2+x+1;z=(y-y1).A2;sum(z)5) 作出拟合曲线和数据图形(图 2)。6) 用MATLA的部函数polyfit求解上面最小二乘法曲线拟合多项式的系数及平方误差。算法实现代码如下:x=0 0.5 0.6 0.7 0.8 0.9 1.0;y=1 1.75 1

6、.96 2.19 2.44 2.71 3.00;A=polyfit(x,y,2);% 二次多形式拟合 %z=polyval(A,x);Ad=sum(z-y)42)7) 绘制使用 polyfit 函数实现的拟合图形。(图 3)五、程序流程图图 5-1 用最小二乘法求多项式拟合曲线流程图图 5-2 用 polyfit 函数求多项式拟合曲线流程图六、实验结果3282 62828020.60 7*2.2G.60.30 9图6-2.最小二乘法实现的拟合曲线图6-1表中数据的散点图实弱埶採点的故点EJ+ 数將点JiyO实醱数抿点的敲点图及拟合曲趺+数据点 拟合曲线第1问系数为A = 1.00001.000

7、01.0000则多项式的方程为平方误差和为ans =1.9722e-031实验數擔点的霰点團从拟合曲线+数据点拟合曲线00.1020 30.40 50.S07 0J 0.9图6-3. polyfit函数实现的拟合函数第2问系数为A = 1.00001.00001.0000则多项式的方程为对+ K十1平方误差和为ans = 1.9722e-031七、实验结果分析编写程序用最小二乘法求拟合曲线的多项式的过程中, 求出的数据和拟合函 数的平方误差很小, 达到了很高的精度要求, 以及通过散点求得的拟合曲线比较 光滑。而用MATLAB勺部函数求polyfit 求解的曲线拟合多项式和平方误差与程 序求得的

8、相同,还有就是虽然求解过程简单了,但用MATLAB勺部函数做出的图形由明显的尖点,不够光滑。此次实验数据较少,而且数据基本都是可靠数据。但是在应用实际问题中, 数据会很庞杂, 此时对于最小为乘法的算法就需要进一步的细化。 例如在进行数 据采集时, 由于数据采集器 (各种传感器) 或机器自身的原因及其外部各种因素 的制约, 导致数据偶尔会有大幅度的波动, 及产生一些偏差极大的数据, 不能真 实反映数据的可靠性, 所以会对数据进行筛选或修正。 而此时就可应用曲线拟合 的最小二乘法的进行处理。八、实验心得体会在日常的学习和生活中, 我们可能会遇到各种方面的跟数据有关的问题, 并 不是所有的数据都是有

9、用, 必须对数据进行适当的处理, 然后找出数据之间的关 系,然后进行分析得出结果。此次实验结果基本没有大的区别,可是MATLA提供给我们一个特别简洁的办法, 应用一个函数即可实现相同的结果。 虽然很方便, 但是对于初学者来说, 我觉得打好基础才是关键, 对于一个知识点, 应该掌握其 最基本的原理,然后在将它应用于实际。通过这个实验我也理解到了, 数值分析是一个工具学科, 它教给了我们分析 和解决数值计算问题得方法, 使我从中得到很多关于算法的思想, 从中受益匪浅。附录:源代码散点图:x=0 0.5 0.6 0.7 0.8 0.9 1.0;y=1 1.75 1.96 2.19 2.44 2.71

10、 3.00;plot(x,y,'r*')title(' 实验数据点的散点图 ');legend(' 数据点( xi,yi )');xlable('x');ylable('y');最小二乘拟合:x=0 0.5 0.6 0.7 0.8 0.9 1.0;y=1 1.75 1.96 2.19 2.44 2.71 3.00;R=(x.A2)' x' on es(7,1);A=Ry'x1=0 0.5 0.6 0.7 0.8 0.9 1.0;y1=1 1.75 1.96 2.19 2.44 2.71 3.00;x=0 0.5 0.6 0.7 0.8 0.9 1.0;y=x.A2+x+1;plot(x1,y1,'k+',x,y,'r')title(' 实验数据点的散点图及拟合曲线 ');z=(y-y1).A2;sum(z)Polyfit 函数拟合:x=0 0.5 0.6 0.7 0.8 0.9 1.0;y=1 1.75 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论