数值计算方法实验报告(含所有).doc
《数值计算方法实验报告(含所有).doc》由会员分享,可在线阅读,更多相关《数值计算方法实验报告(含所有).doc(21页珍藏版)》请在三一办公上搜索。
1、 本科实验报告课程名称: 计算机数值方法 实验项目: 计算机数值方法实验 实验地点: 虎峪校区致远楼B401 专业班级: 软件学院1217班 学号: 201200xxxx 学生姓名: xxx 指导教师: xxx 2014 年 5 月 21 日太原理工大学学生实验报告学院名称软件学院专业班级1217班 学号201200xxxx 学生姓名xx 实验日期2014.05.21成绩课程名称数值计算方法实验题目实验一 方程求解一、实验目的和要求熟悉使用、迭代法、牛顿法、割线法等方法对给定的方程进行根的求解。选择上述方法中的两种方法求方程:二分法f(x)=x3+4x2-10=0在1,2内的一个实根,且要求满
2、足精度|x*-xn|0.510-5二、主要设备 笔记本 HP ProBook 6470b 一台 编译软件:VC+6.0三、实验内容和原理 函数f(x)在区间(x,y)上连续,先在区间(x,y)确定a与b,若f(a),f(b)异号,说明在区间(a,b)内存在零点,然后求f(a+b)/2。假设F(a)0,ab, 如果f(a+b)/2=0,该点即为零点; 如果f(a+b)/20,则区间(a,(a+b)/2)内存在零点,(a+b)/2b;返回重新循环,不断接近零点。通过每次把f(x)的零点所在区间收缩一半的方法,使区间内的两个端点逐步逼近函数零点,最终求得零点近似值。四、操作方法与实验步骤 1. 二分
3、法:#include#include#includeint main() double a=1.0, b=2.0; double x,s; printf( AnttBnttF(Xn)n); while(1) x=(a+b)/2; s=pow(x,3)+4*x*x-10; if (-0.000005 s & s 0.000005) break; else if(s 0) b=x; printf(%ft%ft%fn,a,b,s); printf(X的值为:%fn,x); printf(误差:t%fn,s); return 0;2. 割线法:#includestdio.h#includemath.h
4、int main() float c,a=1.0,b=2.0; printf(每次得到的X的近似值:n); while(1) c=b-(b*b*b+4*b*b-10)*(b-a)/(b*b*b+4*b*b-(a*a*a+4*a*a); if(fabs(b-c)0.5*0.00001)break; b=c; printf(%fn,b); printf(X的值为:%fn,c); 五、实验结果与分析 二分法 割线法 分析: 由程序知,使用二分法和割线法均能计算出方程的根,但利用割线法要比二分法计算的次数少,并且能够较早的达到精度要求。相比之下,割线法程序代码量较少,精简明了。六、讨论、心得 本次数值
5、计算方法程序设计实验从习题练习中跳脱出来,直接面对实用性较强的程序代码编写。效果很好,不仅加深对二分法、割线法的理解,还加强了实际用运能力。将理论知识成功地转化成实践结果。实验地点虎峪校区致远楼B401指导教师xx太原理工大学学生实验报告学院名称软件学院专业班级1217班 学号201200xxxx 学生姓名xx实验日期2014.05.28成绩课程名称数值计算方法实验题目实验二 线性方程组的直接解法一、实验目的和要求合理利用Gauss消元法、LU分解法、追赶法求解下列方程组: (n=5,10,100,)二、主要设备 笔记本 HP ProBook 6470b 一台 编译软件:VC+6.0三、实验内
6、容和原理高斯消元法:将原方程组化为三角形方阵的方程组:lik=aik/akk aij= aij- lik* akj ( k=1,2,n-1 i=k+1,k+2, ,n j=k+1,k+2, ,n+1 )由回代过程求得原方程组的解: xn= ann+1/ ann xk=( akn+1-akj xj)/ akk LU分解法:将系数矩阵A转化为A=L*U,L为单位下三角矩阵,U为普通上三角矩阵,然后通过解方程组l*y=b,u*x=y,来求解x。四、操作方法与实验步骤1. 完全主元素消元法:#include#include#includemath.hfloat a100101;float x10;in
7、t N; void shuchu()for(int i=1;i=N;i+)for(int j=1;j=N+1;j+)coutaij ;coutendl;void shuru()cout请输入矩阵阶数:N;cout请输入矩阵各项:endl;for(int i=1;i=N;i+)for(int j=1;jaij;coutendl;void main()int z10;int maxi,maxj;shuru();for(int i=1;i=N;i+)zi=i;for(int k=1;kN;k+)maxi=k;maxj=k;float maxv=abs(akk);for(i=k;i=N;i+)for(
8、int j=k;jmaxv)maxv=abs(aij);maxi=i;maxj=j;if(maxi!=k) for(int j=1;j=N+1;j+)float t=akj;akj=amaxij;amaxij=t;if(maxj!=k) for(i=1;i=N;i+)float t=aik;aik=aimaxj;aimaxj=t;int t=zk;zk=zmaxj;zmaxj=t; for(int i=k+1;i=N;i+) float l=aik/akk;for(int j=k;j0;i-)float s=0;for(int j=i+1;j=N;j+)s+=aij*xzj;xzi=(aiN+
9、1-s)/aii;cout完全主元素消去法之后的矩阵为:endl;shuchu(); for(i=1;i=N;i+) coutxi=xiendl;2. 列主元素消元法:#includestdio.hint main() float a34=1,2,3,14,0,1,2,8,2,4,1,13;float x3; float sum=0; int k,i,j; for(k=0;k2;k+) for(i=k+1;i3;i+) for(j=k+1;j4;j+)aij=aij-aik/akk*akj; for(i=0;i3;i+) for(j=0;j=0;k-)sum=0;for(j=k+1;j3;j+
10、)sum+=akj*xj; xk=(ak3-sum)/akk; for(i=0;i3;i+)printf (x%d=%fn,i+1,xi);printf(n);3. LU分解法:#include #include #define L 30double aLL,bL,lLL,uLL,xL,yL;int main() int n,i,j,k,r;printf(请输入矩阵元次:n); scanf(%d,&n);printf(请输入矩阵各项:n); for(i=1;i=n;+i) for(j=1;j=n;+j) scanf(%lf,&aij); printf(请输入方程组的常数项:n); for(i=
11、1;i=n;+i) scanf(%lf,&bi); for(i=1;i=n;+i) for(j=1;j=n;+j) lij=0; uij=0.0; for(k=1;k=n;+k) for(j=k;j=n;+j) ukj=akj;for(r=1;rk;+r) ukj-=lkr*urj; for(i=k+1;i=n;+i) lik=aik; for(r=1;rk;+r) lik-=lir*urk; lik/= ukk; lkk=1.0; for(i=1;i=n;+i) yi = bi; for(j=1;j0;-i) xi = yi; for(j=i+1;j=n;+j) xi-=uij*xj; xi
12、/= uii; for(i=1;i=n;+i) printf(%0.2lfn,xi); return 0;五、 实验结果与分析完全主元素消元法: 列主元素消元法: LU分解法: 分析: 对于两种高斯解方程,完全主元素跟列主元素都是先消元、再回代,由程序段可以发现,始终消去对角线下方的元素。即,为了节约内存及时效,可以不必计算出主元素下方数据。 列主元素消元法的算法设计上优于完全主元素消元法,它只需依次按列选主元素然后换行使之变到主元素位置,再进行消元即可。 列主元素消元法的耗时比完全主元素法少很多,常采用之。对于LU分解法,分解矩阵为单位下三角阵L与上三角阵U的乘积,然后解方程组Ly=b,回代
13、,解方程组Ux=y。其中的L为n阶单位下三角阵、U为上三角阵.六、讨论、心得 本次试验中,感觉是最难的一次,完全主元素消元法程序编写过程相对来说花了好长时间。纠正各种语法、算法、思路错误。最后勉强成功,但还是有几处警告,不得解决之法。感到程序学习的不足,再加之对高斯的不甚了解。编写过程很是痛苦。 查阅各种内外部资料,这点有利有弊。突然觉得,应该再把数据结构之类的重新学习一下才行。以后多花时间在编程吧,重在理解。 必须反省一下自己的C、C+学习了,还是得多加练习,平时必须养成一种好的算法思维习惯。实验地点虎峪校区致远楼B401指导教师xx 太原理工大学学生实验报告学院名称软件学院专业班级1217
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 计算方法 实验 报告 所有
链接地址:https://www.31ppt.com/p-4194909.html