数值分析计机实验1和2.docVIP

  • 22
  • 0
  • 约4.58千字
  • 约 10页
  • 2016-12-08 发布于贵州
  • 举报
数值分析计机实验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)

1亿VIP精品文档

相关文档