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