2022年计算方法上机实习题大作业实验报告.doc

上传人:人*** 文档编号:559749065 上传时间:2023-04-13 格式:DOC 页数:49 大小:2.04MB
返回 下载 相关 举报
2022年计算方法上机实习题大作业实验报告.doc_第1页
第1页 / 共49页
2022年计算方法上机实习题大作业实验报告.doc_第2页
第2页 / 共49页
2022年计算方法上机实习题大作业实验报告.doc_第3页
第3页 / 共49页
2022年计算方法上机实习题大作业实验报告.doc_第4页
第4页 / 共49页
2022年计算方法上机实习题大作业实验报告.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《2022年计算方法上机实习题大作业实验报告.doc》由会员分享,可在线阅读,更多相关《2022年计算方法上机实习题大作业实验报告.doc(49页珍藏版)》请在金锄头文库上搜索。

1、计算方法实验报告班级: 学号: 姓名: 成绩:1 舍入误差及稳定性一、实验目的(1)通过上机编程,复习巩固以前所学程序设计语言及上机操作指令;(2)通过上机计算,了解舍入误差所引起的数值不稳定性二、实验内容1、用两种不同的顺序计算,分析其误差的变化2、已知连分数,利用下面的算法计算: 写一程序,读入计算并打印3、给出一个有效的算法和一个无效的算法计算积分 4、设,已知其精确值为(1)编制按从大到小的顺序计算的程序(2)编制按从小到大的顺序计算的程序(3)按两种顺序分别计算并指出有效位数三、实验步骤、程序设计、实验结果及分析1、用两种不同的顺序计算,分析其误差的变化(1)实验步骤:分别从1100

2、00和从100001两种顺序进行计算,应包含的头文件有stdio.h和math.h(2)程序设计:a.顺序计算#include#includevoid main()double sum=0;int n=1;while(1)sum=sum+(1/pow(n,2);if(n%1000=0)printf(sun%d=%-30f,n,sum); if(n=10000)break;n+;printf(sum%d=%fn,n,sum);b.逆序计算#include#includevoid main()double sum=0;int n=10000;while(1)sum=sum+(1/pow(n,2);

3、if(n%1000=0) printf(sum%d=%-30f,n,sum);if(n=1)break;n-;printf(sum%d=%fn,n,sum); (3)实验结果及分析:程序运行结果:a.顺序计算b.逆序计算结果分析:两种不同顺序计算结果是一样的,顺序计算误差从一开始就很小,而逆序计算误差最开始十分大,后来结果正确。2、已知连分数,计算:(1)实验步骤:利用 ,计算(2)程序设计#include#includevoid main()int i=0,n;float a1024,b1024,d1024;printf(please input n,n=);scanf(%d,&n);pri

4、ntf(nplease input a1 to an:n);for(i=1;i=n;i+) printf(a%d=,i);scanf(%f,&ai);printf(nplease input b0 to bn:n);for(i=0;i=0;i-) di=bi+ai+1/di+1;printf(nf=%fn,d0);(3)实验结果程序运行结果:3、给出一个有效的算法和一个无效的算法计算积分 (1)实验步骤利用C语言编写程序,分别使用数值稳定的和数值不稳定的计算公式所建立的递推公式进行计算。(2)程序设计#include#includemain()double y_0=(1/4.0)*log(5)

5、,y_1;double y_2=(1.0/55.0+1.0/11.0)/2,y_3;int n=1,m=10;printf(有效算法输出结果:n);printf(y0=%-20f,y_0);while(1)y_1=1.0/(4*n)+y_0/(-4.0);printf(y%d=%-20f,n,y_1);if(n=10) break;y_0=y_1;n+;if(n%3=0) printf(n);printf(n无效算法的输出结果:n);printf(y10=%-20f,y_2);while(1) y_3=1.0/n-4.0*y_2;printf(y%d=%-20f,m-1,y_3);if(m=1

6、) break; y_2=y_3; m-; if(m%2=0) printf(n);(3)实验结果及分析程序运行结果:结果分析:无效算法数值不稳定,误差造成的影响特别大4、设,已知其精确值为(1)实验步骤先编程按从大到小的顺序计算的程序,再编程按从小到大的顺序计算的程序,然后按两种顺序分别计算。(2)程序设计#includemain() int N;double SN30000;SN30000=(3.0/2.0-1.0/30000.0-1/30001.0)/2.0;for(N=30000;N=2;N-)SNN-1=SNN-1.0/(N*N-1);printf(从大到小顺序计算:nSN1000=

7、%fnSN10000=%fnSN30000=%fn,SN1000,SN10000,SN30000); SN2=(3.0/2-1.0/2.0-1/3.0)/2.0;for(N=3;N=30000;N+)SNN=SNN-1+1.0/(N*N-1);printf(从小到大顺序计算:nSN1000=%fnSN10000=%fnSN30000=%fn,SN1000,SN10000,SN30000);(3)实验结果及分析程序运行结果:结果分析:不同顺序计算所得结果是一样的。四、总结通过这次上机,学习了解了舍入误差在不同算法时对结果的影响不同,稳定的算法才能获得正确的结果。2 方程求根一、实验目的(1)通过

8、对二分法与牛顿迭代法做编程练习和上机运算,进一步体会二分法和牛顿法的不同。(2)编写割线迭代法的程序,求非线性方程的解,并与牛顿迭代法作比较。二、实验内容1、用牛顿法求下列方程的根(1)(2)(3)2、编写割线法程序求解第一问的方程三、实验步骤、程序设计、实验结果及分析1、牛顿法(1)实验步骤通过定义牛顿法求方程的子函数,用main函数调用子函数求根(2)程序设计#include #include typedef float (*p)(float );float ff1(float x) return x*x-exp(x);float ff2(float x) return x*exp(x)-

9、1;float ff3(float x) return log(x)+x-2;float answer(float(*p)(float) int k=2; float m=1,n=-1,x2,a,b,c; if (p=ff3)n=2; printf(x0 = %.4f, x1 = %.4f, ,m,n); while (1) if (fabs(m-n)1e-4) break; a=p(n)*(n-m);b=p(n)-p(m);c=a/b;x2=n-c; m = n; n = x2; printf(x%d = %.4f, ,k,x2); k+; if (k%3=0) printf(n); if

10、(k%3!=0) printf(n); printf(iteration times: %d, roots: %.4fn ,k-2,n);return 0; main()printf(x*x-exp(x),n);answer(ff1);printf(x*exp(x)-1,n);answer(ff2);printf(lg(x)+x-2,n);answer(ff3);return 0;(3)实验结果及分析2、割线法(1)程序设计#include#includefloat gexian(float,float);float f(float);main() int i,j; float x1=2.2;

11、 float x2=2,x3; scanf(%d,&i); if(i=1) printf(%f,x1); else if(i=2) printf(%f,x2); else for(j=3;j=i;j+) x3=gexian(x1,x2); x1=x2; x2=x3; printf(%f,gexian(x1,x2) ; float f(float x)return (x*x-exp(x);float gexian(float x1,float x2)return (x2-(f(x2)/(f(x2)-f(x1)*(x2-x1);(3)实验结果及分析四、总结了解和学习了二分法和牛顿迭代法的思想以及程

12、序设计的方法,比较了迭代法和牛顿法的特点:牛顿法收敛速度较快,但对初值选取要求较高;割线法计算量少。3 线性方程组数值解法一、实验目的(1)熟悉求解线性方程组的有关理论和方法;(2)会编制列主元消去法,LU分解法,雅可比及高斯-赛德尔迭代法的程序;(3)通过实际计算,进一步了解各种方法的优缺点,选择合适的数值方法。二、实验内容1、用列主元消去法解方程组2、用LU分解法解方程组三、实验步骤、程序设计、实验结果及分析1、用列主元消去法解方程组(1)程序设计#include#includevoid ColPivot(float*,int,float);void ColPivot(float*c,int n,float x)int i,j,t,k;float p;for(i=

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

当前位置:首页 > 商业/管理/HR > 项目/工程管理

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