实验3__曲线拟合的最小二乘法..docVIP

  1. 1、本文档共9页,可阅读全部内容。
  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文档。上传文档
查看更多
实验3__曲线拟合的最小二乘法.

《计算方法》实验报告 学 院: 计算机学院 专 业: 计算机科学与技术 指导教师: 爨莹 班级学号: 201207010229 姓 名: 图尔荪托合提 实验三 曲线拟合的最小二乘法 实验目的: 在科学研究与工程技术中,常常需要从一组测量数据出发,寻找变量的函数关系的近似表达式,使得逼近函数从总体上与已知函数的偏差按某种方法度量能达到最小而又不一定过全部的点。这是工程中引入最小二曲线拟合法的出发点。 充分掌握:1.最小二乘法的基本原理;2.用多项式作最小二乘曲线拟合原理的基础上,通过编程实现一组实验数据的最小二乘拟合曲线。 2、实验要求: 认真分析题目的条件和要求,复习相关的理论知识,选择适当的解决方案和算法; 编写上机实验程序,作好上机前的准备工作; 上机调试程序,并试算各种方案,记录计算的结果(包括必要的中间结果); 分析和解释计算结果; 按照要求书写实验报告; 3、实验内容: 1) 给定数据如下: x : 0.15,0.4,0.6 ,1.01 ,1.5 ,2.2 ,2.4, 2.7, 2.9, 3.5 ,3.8 ,4.4, 4.6 ,5.1 ,6.6, 7.6; y : 4.4964,5.1284,5.6931 ,6.2884 ,7.0989 ,7.5507 ,7.5106, 8.0756, 7.8708,8.2403 ,8.5303 ,8.7394, 8.9981 ,9.1450 ,9.5070,9.9115; 试作出幂函数拟合数据。 2) 已知一组数据: x : 0,0.1,0.2 ,0.3 ,0.4 ,0.5 ,0.6,0.7,0.8,0.9 ,1 y : -0.447,1.978,3.28 ,6.16 ,7.08 ,7.34 ,7.66,9.56,9.48,9.30 ,11.2; 试用最小二乘法求多项式函数,使与此组数据相拟合。 4、题目: 曲线拟合的最小二乘法 5、原理: 从整体上考虑近似函数 同所给数据点 (i=0,1,…,m)误差 (i=0,1,…,m)的大小,常用的方法有以下三种:一是误差 (i=0,1,…,m)绝对值的最大值 ,即误差 向量 的∞—范数;二是误差绝对值的和 ,即误差向量r的1—范数;三是误差平方和 的算术平方根,即误差向量r的2—范数;前两种方法简单、自然,但不便于微分运算 ,后一种方法相当于考虑 2—范数的平方,因此在曲线拟常采用误差平方和 来 度量误差 (i=0,1,…,m)的整体大小数据拟合的具体作法是:对给定数据 (i=0,1,…,m),在取定的函数类 中,求 ,使误差 (i=0,1,…,m)的平方和最小 从几何意义上讲,就是寻求与给定点 (i=0,1,…,m)的距离平方和为最小的曲线。函数 称为拟合 函数或最小二乘解,求拟合函数 的方法称为曲线拟合的最小二乘法。#includestdio.h #includemath.h void main() { double a0[16][2],a1[2][16],A[2][2],Y[2]; int i,j,k; double x[16]={0.15,0.4,0.6,1.01,1.5,2.2,2.4,2.7,2.9,3.5,3.8,4.4,4.6,5.1,6.6,7.6}, y[16]={4.4964,5.1284,5.6931,6.2884,7.0989,7.5507,7.5106,8.0756,7.8708,8.2403,8.5303,8.7394,8.9981,9.1450,9.5070,9.9115}; double m0,m1,n; for(i=0;i=15;i++) {a0[i][0]=1; a0[i][1]=log(x[i]); y[i]=log(y[i]); printf(输入X的值: ); printf(%f ,a0[i][1]); printf(得到的对应的函数值:); printf(%f \n ,y[i]);} printf(\n); for(i=0;i=15;i++) for(j=0;j=1;j++) {a1[j][i]=a0[i][j];}//以上正确 A[0][0]=0;A[0][1]=0;A[1][0]=0;A[1][1]=0;Y[0]=0;Y[1]=0; for(i=0;i=1;i++) {for(j=0;j=1;j++) {for(k

文档评论(0)

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

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

1亿VIP精品文档

相关文档