- 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和2
数值分析实验报告
实验一 舍入误差与数值稳定性
1.实验名称
对 n = 0,1,2,…,20 计算定积分 =
2.实验目的
学会用递推公式解定积分计算问题,并且学习将算法转换成可以运行的程序。
3.算法描述
算法 1 利用递推公式 = - 5 n = 1,2,…,20
取 ln6- ln5 0.182 322
算法 2 利用递推公式 n = 20,19,…,1
注意到
取
4.源程序
算法一:
#include iostream.h
void main()
{
float n=1;
float y=0.182322;
couty0=yendl;
for(n;n=20;n++)
{
y=1/n-5*y;
coutyn=yendl;
}
}
算法二:
#include iostream.h
void main()
{
double n=20;
double y=0.008730;
couty20=yendl;
for(n;n=0;n--)
{
y=1/(5*n)-0.2*y;
coutyn=yendl;
}
}
5.运行结果
算法一运行结果:
y0=0.182322
y1=0.08839
y2=0.0580499
y3=0.0430839
y4=0.0345805
y5=0.0270974
y6=0.0311798
y7=-0.0130418
y8=0.190209
y9=-0.839935
y10=4.29967
y11=-21.4075
y12=107.121
y13=-535.526
y14=2677.7
y15=-13388.4
y16=66942.3
y17=-334711
y18=1.67356e+006
y19=-8.36779e+006
y20=4.18389e+007
Press any key to continue
算法二运行结果:
y20=0.00873
y19=0y18=0y17=0.0098937
y16=0.0105213
y15=0.0112291
y14=0.0120399
y13=0.0129766
y12=0.0140713
y11=0.0153676
y10=0.0169265
y9=0.0188369
y8=0.0212326
y7=0.0243249
y6=0.0284684
y5=0.0343063
y4=0.0431387
y3=0.0580389
y2=0.0883922
y1=0.182322
Press any key to continue
6.对算法的理解与分析(包括改进与建议)
在程序运行过程中,将数值定义为浮点型会“警告”,而更改为双精度类型是就不会“警告”。推断是因为参与计算的数有效数字太多,但是,忽略“警告”将得到一样的结果。
实验二 拉格朗日插值与牛顿插值
计算机121班 吴珍珍 122460
目的与要求:
熟悉拉格朗日插值多项式和牛顿插值多项式,注意其不同特点;
实验内容:
通过拉格朗日插值和牛顿插值多项式的两个实例的计算,了解两种求解方法,分析他们的优缺点。
程序与实例
拉格朗日多项式
算法
输入x,y(i=0,1,2,(,n),令L(x)=0;
对=0,1,2,(,n计算
ll(x)=
L( L+l(x)y
程序与实例
例1已知函数表
x 0.56160 0.56280 0.56401 0.56521 y 0.82741 0.82659 0.82577 0.82495
用三次拉格朗日多项式求x=0.5635的函数近似值。
源程序:
#include iostream.h
void main()
{
double x[4]={0.56160,0.56280,0.56401,0.56521};
double y[4]={0.82741,0.82659,0.82577,0.82495};
cout初始的X值:endl;
for(int i=0;i4;i++)
{
coutx[i] ;
}
cout\n初始的Y值:endl;
for(int j=0;j4;j++)
{
couty[j] ;
}
cout\n;
double xn=0.5635,l[4],sum=0;
l[0]=(xn-x[1])*(xn-x[2])*(xn-x[3])/(x[0]-x[1])/(x[0]-x[2])/(x[0]-x[3]);
coutL0=l[0]endl;
l[1]=(xn-x[0])*(xn-x[2])*(xn-x[3])/(
原创力文档


文档评论(0)