数值计算作业.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值计算作业

程序1 美国1920年到1970的人口调查表 年份 1920 1930 1940 1950 1960 1970 人口(千人) 105711 123203 131669 150697 179323 203212 用数据构造一个5次拉格朗日插值多项式,并用此估计1910,1965,和2002年的人口。在1920年的实际人口约为请判断差值得到的1965和2002年的人口数据准确性是多少? 解:用matlab编写的拉格朗日插值M文件如下: function [m,y]=cz5(x) y1=105711;y2=123203;y3=131669;y4=150697;y5=179323;y6=203212; x1=1920; x2=1930; x3=1940; x4=1950; x5=1960; x6=1970; a1=((x-x2)*(x-x3)*(x-x4)*(x-x5)*(x-x6))/((x1-x2)*(x1-x3)*(x1-x4)*(x1-x5)*(x1-x6)); a2=((x-x1)*(x-x3)*(x-x4)*(x-x5)*(x-x6))/((x2-x1)*(x2-x3)*(x2-x4)*(x2-x5)*(x2-x6)); a3=((x-x1)*(x-x2)*(x-x4)*(x-x5)*(x-x6))/((x3-x1)*(x3-x2)*(x3-x4)*(x3-x5)*(x3-x6)); a4=((x-x1)*(x-x2)*(x-x3)*(x-x5)*(x-x6))/((x4-x1)*(x4-x2)*(x4-x3)*(x4-x5)*(x4-x6)); a5=((x-x2)*(x-x3)*(x-x4)*(x-x1)*(x-x6))/((x5-x1)*(x5-x3)*(x5-x2)*(x5-x4)*(x5-x6)); a6=((x-x2)*(x-x3)*(x-x4)*(x-x5)*(x-x1))/((x6-x1)*(x6-x2)*(x6-x3)*(x6-x4)*(x6-x5)); 实际值大约为: y=y1*a1+y2*a2+y3*a3+y4*a4+y5*a5+y6*a6; if x==1910 m=91772; 估计值大约为: else m=(91772-31872)/31872*y+y; 估计值大约为: End 输入如下代码: [m,y]=cz5(1910) [m,y]=cz5(1965) [m,y]=cz5(2002) 结果为: ans = 实际值大约为: ans = 估计值大约为: m = 91772 y = 31872 ans = 实际值大约为: ans = 估计值大约为: m = 5.559574703016167e+005 y = 1.930815117187500e+005 ans = 实际值大约为: ans = 估计值大约为: m = 7.526371798548073e+004 y = 2.613874841600098e+004 程序 2 用牛顿插值估计 1965年的人口数 2002年的人口数 解:用matlab编写的牛顿插值M文件如下: function [y]=niuden5(x) y1=[105711 123203 131669 150697 179323 203212]; x0=[1920 1930 1940 1950 1960 1970]; for i=2:6 y2(i)=(y1(1)-y1(i))/(x0(1)-x0(i)); end for i=3:6 y3(i)=(y2(2)-y2(i))/(x0(2)-x0(i)); end for i=4:6 y4(i)=(y3(3)-y3(i))/(x0(3)-x0(i)); end for i=5:6 y5(i)=(y4(4)-y4(i))/(x0(4)-x0(i)); end y6(6)=(y5(5)-y5(6))/(x0(5)-x0(6)); y=y1(1)+y2(2)*(x-x0(1))+y3(3)*(x-x0(1))*(x-x0(2))+y4(4)*(x-x

文档评论(0)

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

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

1亿VIP精品文档

相关文档