高等数学MATLAB实验四 数据拟合问题 实验指导书.docVIP

高等数学MATLAB实验四 数据拟合问题 实验指导书.doc

  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文档。上传文档
查看更多
高等数学实验指导书 PAGE PAGE 20 实验四 数据拟合问题 实验目的:1、加深对函数基本概念的理解; 2、掌握利用函数解决实际问题的方法; 3、掌握MATLAB软件中有关函数、绘图等命令 实验要求:掌握函数基本知识,熟悉MATLAB中绘图命令plot。 实验内容: 某研究所为了研究氮肥(N )的施肥量与土豆产量的关系,做了十次实验,实验数据见表1-1,其中hm表示公顷,t表示吨,kg表示千克,试分析氮肥的施肥量与土豆产量之间的关系。 表1-1 氮肥施肥量与土豆产量关系的实验数据 施肥量 x(kg/hm) 0 34 67 101 135 202 259 336 404 471 产量 y(t/hm) 15.18 21.36 25.72 32.29 34.03 39.45 43.15 43.46 40.83 30.75 实验方案 设y代表土豆产量,x代表氮肥的施肥量。显然,y与x之间应该有某种关系,假设y与x之间的关系为函数关系,则问题就转化为已知数据点,寻找函数,这就是数据拟合问题。 所谓数据拟合,就是从一组实验数据点出发,寻找函数的一个近似表达式(称为经验公式)。从几何上看,就是希望根据给定的这些数据点,求曲线的一条近似曲线。近似曲线不必过每一个数据点,但如果近似曲线的效果要好的话,那么数据点离近似曲线的距离应该尽量小,用偏差平方和函数 来刻画近似曲线的效果,偏差平方和函数越小则近似曲线的拟合效果越好,因此最好的近似曲线应该满足。 多项式函数由于性质良好,计算方便,常常用来进行数据拟合。可以考虑采用作为基函数来拟合这组数据(即用二次多项式函数作为经验公式),此时偏差平方和函数为 , 其中为数据点的数目,要使偏差平方和函数最小,需要 (该方程组称为法方程组),将实验数据代入上式,解得 , , , 即拟合函数为。 从图1可以看出拟合效果比较好,但是是否还可以更好呢?一般而言,拟合次数的提高可以使得拟合效果变好,但是并不是次数越高越好,现在提高拟合次数,将基函数由修改为(三次拟合),(四次拟合),得到拟合图2—图4。 从图形可以看出,拟合曲线的次数在二、三、四、五次拟合时效果都相差不大,但是高次拟合效果反而不理想,例如本例中的十次拟合,所以在本例使用二次拟合效果就比较好了,拟合函数为 。 实验过程: clear x=[0,34,67,101,135,202,259,336,404,471]; y=[15.18,21.36,25.72,32.29,34.03,39.45,43.15,43.46,40.83,30.75]; p=polyfit(x,y,2); %?polyfit(x,y,n ) ,用多项式求过已知点的表达式,其中x为源数据点对应的 横坐标,y为源数据点对应的 纵坐标,n为你要拟合的 阶数,一阶直线拟合,二阶抛物线拟合,并非阶次越高越好,看拟合情况 disp([num2str(p(1)),*x^2+,num2str(p(2)),*x+,num2str(p(3))]); % disp屏幕输出函数,num2str把数值转换成字符串, 转换后可以使用fprintf或disp函数进行输出; -0x^2+0.19715*x+14.7416 xx=linspace(0,471,100); %表示从0到471生成100个数 yy=polyval(p,xx); %返回多项式p在xx处的值 plot(x,y,r*,xx,yy) 图1 二次拟合效果图 图2 三次拟合效果图 图3 四次拟合效果图 图4 五次拟合效果图 图5 十次拟合效果图 附录: 三次拟合程序 clear x=[0,34,67,101,135,202,259,336,404,471]; y=[15.18,21.36,25.72,32.29,34.03,39.45,43.15,43.46,40.83,30.75]; p=polyfit(x,y,4); disp([num2str(p(1)),*x^4+,num2str(p(2)),*x^3+,num2str(p(3)),*x ^2+,num2str(p(4)),*x+,num2str(p(5))]); xx=linspace(0,471,100); yy=polyval(p,xx); plot(x,y,r*,xx,yy) 四次、五次、十次拟合跟上述程序类似。

文档评论(0)

131****2505 + 关注
实名认证
文档贡献者

90后互联网人。产品狗一枚,兴趣爱好广泛

1亿VIP精品文档

相关文档