数值分析实验报告3.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  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.doc

实验名称 平方逼近与最小二乘法 实验目的 学习并熟练掌握MATLAB语言的编程; 学习最小二乘法及程序设计算法。 实验原理: 1,由题意决定span(1,x,x^2,…),即决定拟合多项式. 2.分别计算, 3.用组成方阵A,用组成矩阵B. 4, 利用A/B求出该多项式的系数,再利用求出平方误差. 实验题目 1,对于给函数f(x)= 在区间【-1,1】上取=-1+0.2i(i=0,1…10),试求3次曲线拟合,试画出你和曲线并打印出方程。 2,由实验给出的数据表 x 0.0 0.1 0.2 0.3 0.5 0.8 1.0 y 1.0 0.41 0.50 0.61 0.91 2.02 2.46 试求3次,4次多项式的曲线拟合,再根据数据曲线形状,求一个另外函数的拟合曲线,用图示数据曲线及相应的三种拟合曲线。 3,给定数据点()如表所示。 0 0.5 0.6 0.7 0.8 0.9 1.0 0 1.75 1.96 2.19 2.44 2.71 3.00 用最小二乘法求拟合数据的二次多项式,并求平方误差。 实验结果 1. i = 0:10; x = -1+0.2*i; y = 1./(1+25*x.^2); p=polyfit(x,y,3); s=vpa(poly2sym(p)) f = polyval(p,x); plot( x, f, x, y, o ) s = 0.000000000000000018136579684810800950071230066733*x^3 - 0.57518273581808898597955703735352*x^2 - 0.00000000000000021309598658452197357889078781603*x + 0.48412492484890667920893747577793 2, x=[0 0.1 0.2 0.3 0.5 0.8 1]; y=[1 0.41 0.5 0.61 0.91 2.02 2.46]; p1=polyfit(x,y,3)%三次多项式拟合 p2=polyfit(x,y,4)%四次多项式拟合 y1=polyval(p1,x); y2=polyval(p2,x);%多项式求值 plot(x,y,c--,x,y1,r:,x,y2,y-.) p3=polyfit(x,y,2)% 观察图像,类似于抛物线,用二次多项拟合 y3=polyval(p3,x); plot(x,y,c--,x,y1,r:,x,y2,y-.,x,y3,k--)%画出四种拟合曲线 p1 = -6.6221 12.8147 -4.6591 0.9266 p2 = 2.8853 -12.3348 16.2747 -5.2987 0.9427 p3 = 3.1316 -1.2400 0.7356 3, function []=zuixiaoercinihe2(x,y) n=length(x); k00=0; for i=1:n k00=k00+1; end k01=0; for i=1:n k01=k01+x(i); end k02=0; for i=1:n k02=k02+x(i)*x(i); end k11=0; for i=1:n k11=k11+x(i)*x(i); end k12=0; for i=1:n k12=k12+x(i)*x(i)*x(i); end k22=0; for i=1:n k22=k22+x(i)*x(i)*x(i)*x(i); end k0y=0; for i=1:n k0y=k0y+y(i); end k1y=0; for i=1:n k1y=k1y+x(i)*y(i); end k2y=0; for i=1:n k2y=k2y+x(i)*x(i)*y(i); end A=[k00 k01 k02;k01 k11 k12;k02 k12 k22]; B=[k0y;k1y;k2y]; C=A\B; p=C(1); q=C(2); r=C(3); syms m; 拟合的二次函数为: f=p+q*m+r*m*m l=0; for i=1:n l=l+((p+q*x(i)+r*x(i)*x(i))-y(i))*((p+q*x(i)+r*x(i)*x(i))-y(i)); end 该拟合函数的平方误差为: l 拟合的二次函数为: f = 1+m+9007199254740963/9007199254740992*m^2 ans = 该拟合函数的平方误差为: l = 5.8178

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档