曲线拟合实验报告.docxVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值分析 课程设计报告 学生姓名 学生学号 所在班级 指导教师 成绩评定 一、课程设计名称 函数逼近与曲线拟合 二、课程设计目的及要求 实验目的: ⑴学会用最小二乘法求拟合数据的多项式,并应用算法于实际问题。 ⑵学会基本的矩阵运算,注意点乘和叉乘的区别。 实验要求: ⑴编写程序用最小二乘法求拟合数据的多项式,并求平方误差,做出离散函数(xi ⑵用MATLAB的内部函数polyfit求解上面最小二乘法曲线拟合多项式的系数及平方误差,并用MATLAB的内部函数plot作出其图形,并与(1)结果进行比较。 三、课程设计中的算法描述 用最小二乘法多项式曲线拟合,根据给定的数据点,并不要求这条曲线精确的经过这些点,而是拟合曲线无限逼近离散点所形成的数据曲线。 思路分析:从整体上考虑近似函数同所给数据点误差的大小,常用的方法有三种:一是误差绝对值的最大值,即误差向量的无穷范数;二是误差绝对值的和,即误差向量的1范数;三是误差平方和的算术平方根,即类似于误差向量的2范数。前两种方法简单、自然,但不便于微分运算,后一种方法相当于考虑2范数的平方,此次采用第三种误差分析方案。 算法的具体推导过程: 1.设拟合多项式为: y= 2.给点到这条曲线的距离之和,即偏差平方和: R 3.为了求得到符合条件的的值,对等式右边求ai偏导数,因而我们得到了: - - ?? - 4.将等式左边进行一次简化,然后应该可以得到下面的等式 a a a 5.把这些等式表示成矩阵的形式,就可以得到下面的矩阵: 将这个范德蒙得矩阵化简后得到 7.因为,那么,计算得到系数矩阵,同时就得到了拟合曲线。 四、课程设计内容 ⑴实验环境:MATLAB2010 ⑵实验内容:给定的数据点( 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 用最小二乘法求拟合数据的多项式; 用MATLAB内部函数polyfit函数进行拟合。 ⑶实验步骤 1)首先根据表格中给定的数据,用MATLAB软件画出数据的散点图(图1)。 2)观察散点图的变化趋势,近似于二次函数。则用二次多项式进行拟合,取一组基函数x0,x1,x2,并令 3)用MATLAB程序作线性最小二乘法的多项式拟合,求待定系数。 算法实现代码如下: 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.^2) x ones(7,1)]; A=R\y 用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.^2+x+1; z=(y-y1).^2; sum(z) 作出拟合曲线和数据图形(图2)。 用MATLAB的内部函数polyfit求解上面最小二乘法曲线拟合多项式的系数及平方误差。 算法实现代码如下: 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]; A=polyfit(x,y,2);%二次多形式拟合% z=polyval(A,x); A d=sum((z-y).^2) 7)绘制使用polyfit函数实现的拟合图形。(图3) 五、程序流程图 输入初始数据点 输入初始数据点 根据原始数据绘制散点图 分析数据点变化趋势,确定拟合多项式 用最小二乘法求系数矩阵,确定多项式 用所求的多项式,计算误差 绘制拟合曲线 图5-1 用最小二乘法求多项式拟合曲线流程图 输入初始数据点 输入初始数据点 调用polyfit函数,确定多形式的系数 调用plot函数进行绘图 调用polyval函数,进行多项式求值 图5-2 用polyfit函数求多项式拟合曲线流程图 六、实验结果 图6-1 表中数据的散点图 图6-2. 最小二乘法实现的拟合曲线 第1问 系数为 A = 1.0000 1.0000 1.0000 则多项式的方程为y= 平方误差和为 ans =1.9722e-031 图6-3. polyfit函数实现的拟合函数 第2问 系数为 A = 1.0000 1.0000 1.0000 则多项式的方程为y= 平方误差和为 ans = 1.9722e-031 实验结果分析 编写程序用最小二乘法求拟合曲线的多项式的过程中,求出的数据和拟合函数的平方误差很小,达到了很高的精度要求,以及通过散点求得的拟合曲线比较光滑。而用MATLAB的内部函数求polyfit求解的曲线拟合多项式和平方误差与程序求得的相同,还有就是虽然求解过程简单了,但用MATLAB的

文档评论(0)

celkhn5460 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档