试验报告

上传人:壹****1 文档编号:493007838 上传时间:2023-05-01 格式:DOC 页数:24 大小:1.09MB
返回 下载 相关 举报
试验报告_第1页
第1页 / 共24页
试验报告_第2页
第2页 / 共24页
试验报告_第3页
第3页 / 共24页
试验报告_第4页
第4页 / 共24页
试验报告_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《试验报告》由会员分享,可在线阅读,更多相关《试验报告(24页珍藏版)》请在金锄头文库上搜索。

1、计算方法实 验 报 告 册姓 名: 学 号: 班 级: 实验名称: 实验所属课程: 实验室(中心): 指 导 教 师 : 实验完成时间: 目 录实验一 数值稳定性实验.实验二 非线性方程求根的数值解法.实验三 线性方程组的数值解法(一).实验四 线性方程组的数值解法(二).实验五 分段插值和拉格朗日插值实验.实验六 复合辛普森求积分实验实验名称: 实验一 数值稳定性实验实验内容:设 (1)从尽可能精确的近似值出发,利用递推式计算的近似值。(2)从较粗糙的估计值出发,利用递推式计算的近似值。(3)分析所得结果的可靠性以及出现这种现象的原因。实验过程:(1)先求的:程序代码:#includemai

2、n()double I0=0.182322,In=0,It,n=1.0;It=I0;printf(nttItn);for(n=1;n=20;)In=-5*It+1.0/n;It=In;printf(%ft%.15fn,n,It);n=n+1.0;(2)以(1)中用算的的近似最为较粗糙的估计值。程序代码:#includemain()double I20=42267422.243506,In=0,It,n=1.0;It=I20;printf(nttItn);for(n=20;n0;)In=-0.2*It+1.0/(5*n);It=In;printf(%ft%.15fn,n-1,It);n=n-1.

3、0;实验结果分析:第一小题程序运行结果如下:但是当初始的时运行结果为 显然,此时由于初始值的微小差异使得在经过20次的计算后结果已有了很大的差异。对同一数学问题,为了求得其解,往往可以设计出多种不同的算法。而不同的算法,在执行过程中引入的舍入误差以及舍入误差的累积情况,也往往是不同的。假定初始值的误差为E,中间不断产生新误差,考察由E引起的误差累积是否增长。在第二小题中,如果用作为近似值计算,计算得到的结果为0.182322,说明算法的稳定性不是问题,之所以出现上述问题,个人认为与小数点后保留的位数和初始值的小数点位数有关。实验名称: 实验二 非线性方程求根的数值解法实验内容: 求方程在区间上

4、的近似值,要求误差不超过。(1)利用二分法;(2)取初值,利用简单迭代法;(3)取初值,利用牛顿迭代法。实验过程: (1)二分法程序代码:#includestdio.h#includemath.hfloat function(float x)float y;y=pow(x,3)-x-1;return(y);main()float a,b,E1=0.000001,E2=0.000001,x,y,y1,y2;int k;printf(请输入a和b.n);printf(a=),scanf(%f,&a);printf(b=),scanf(%f,&b);y1=function(a);y2=functio

5、n(b);printf(kttxttyn);if(y1*y20)printf(注意:输入a和b的值无法计算出结果。n);elsek=1;dox=(a+b)/2,y=function(x);if(y-E1&yE1) printf(%ft%ft%ftn,k,x,y);break;elseif(y1*yE2|b-a=E2)k=k+1;while(b-aE2|b-a=E2);(2)简单迭代法;迭代函数为程序代码:#includestdio.h#includemath.hmain()float x0,x1,E=0.000001;int k=0,N=17;printf(请输入x0.n);printf(x0

6、=),scanf(%f,&x0);printf(kttx1n);dok=k+1;x1=pow(x0+1,1.0/3);if(x1-x0-E&x1-x0E)printf(%dtt%fn,k,x1);break;elsex0=x1; if(k=N)printf(求算失败!n);while(k-E&x1-x0E)printf(%dtt%fn,k,x1);break;elsex0=x1;if(k=N)printf(求算失败!n);break;while(kN);实验结果分析:程序一运行结果:程序二运行结果如下:程序三运行结果如下:对三个程序的运行结果进行比较,发现牛顿迭代法有明显的优越性,在得到相同结

7、果的前提下,用牛顿迭代法编的程序循环部分运行的次数最少。当运行一个大型的程序时,程序运行所花的时间是必须考虑的。时间太长,严重影响程序的整体性能,所以这时候要寻找一种尽量减少时间的算法。实验名称: 实验三 线性方程组的数值解法(一)实验内容:求解线性方程组 并比较计算结果精度(方程组精确解为)(1) 顺序消去法;(2) 列主元消去法。实验过程:(1) 顺序消元法解该方程组的代码如下:#includestdio.hmain()float A45=1.1348,3.8326,1.1651,3.4017,9.5342,0.5301,1.7875,2.5330,1.5435,6.3941,3.4129

8、,4.9317,8.7643,1.3142,18.4231,1.2371,4.9998,10.6721,0.0147,16.9237;float T45;float X5;int i,j,k;printf(按顺序消元法,将方程组转化为上三角矩阵形式如下:n);for(j=0;j3;j+)for(i=1;i4;i+)Tij=Ai+jj/Ajj;for(k=j;k5;k+)Ai+jk=Ai+jk-Ajk*Tij;for(i=0;i4;i+)for(j=0;j5;j+)printf(%.4ft,Aij);printf(n);printf(方程组的解如下:n);X4=A34/A33;X3=(A24-A

9、23*X4)/A22;X2=(A14-A13*X4-A12*X3)/A11;X1=(A04-A03*X4-A02*X3-A01*X2)/A00;printf(x1=%.4ftnx2=%.4ftnx3=%.4ftnx4=%.4ft,X1,X2,X3,X4);(2)列主元消去法解该方程的程序代码如下:#includestdio.hmain()float A45=1.1348,3.8326,1.1651,3.4017,9.5342,0.5301,1.7875,2.5330,1.5435,6.3941,3.4129,4.9317,8.7643,1.3142,18.4231,1.2371,4.9998,10.6721,0.0147,16.9237;float T45;float X5,MAX5,ZD5;int i,j,k,l,m;printf(按列组消元法,将方程组转化为上三角矩阵形式如下:n);for(j=0;j3;j+)MAXj=Ajj;for(l=1;lMAXj)MAXj=Al+jj;for(l=0;l4-j;l+)if(MAXj=Al+jj)for(m=j;m5;m+)ZDm=Ajm;Ajm=Al+jm;Al+jm=ZDm;for(i=1;i4;i+)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号