数值计算方法实验_第1页
数值计算方法实验_第2页
数值计算方法实验_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 实验报告学院(系)名称: 姓名学号专业班级实验项目线性方程组的解法 课程名称数值计算方法课程代码实验时间 实验地点批改意见:成绩教师签字:实验目的:编写列选主元高斯消去法、雅可比和高斯塞德尔迭代法的算法程序,上机调试通过。 实验环境:硬件环境:IBMPC或兼容机软件环境:Windows操作系统编程语言:C语言实验内容:一 用列主元高斯消去法求解下列线性方程组二 用高斯塞德尔迭代方法求解线性方程组 要求误差为 实验步骤:一 列主元高斯消去法高斯消去法分为消元过程与回代过程,消元过程将所给方程组加工成上三角形方程组,再经回代过程求解 列选主元法1. 列选主元是当消元到第k步时,从k列的akk以下

2、(包括akk)的各元素中选出绝对值最大的,然后通过行交换将其交换到akk的位置上。交换系数矩阵中的两行(包括常数项),只相当于两个方程的位置交换了,因此列选主元不影响求解的结果 2. 列选主元比全选主元的运算量小,但一般可以满足精度要求,所以列选主元更常被采用3. 在列主元消去法中,未知数仍然是顺序地消去的,但是把各方程中要消去的那个未知数的系数按绝对值最大值作为主元素,然后用顺序消去法的公式求解 列主元高斯消去法的流程图: 主程序部分 列选主元部分二 高斯-塞德尔迭代法高斯塞德尔迭代法的思想 1. 迭代收敛时,新值xi (k+1) 比老值xi (k) 更准确 2. 算出新值xi (k+1)后

3、,用新值xi (k+1)代替用于后面计算的老值xi (k) ,使每次迭代计算,都是利用“最新求解信息” 3. 这样,必然会使迭代求解的速度加快 高斯-塞德尔(Seidel)迭代公式高斯塞德尔迭代的流程图 实验结果:一 列主元消去法输入各个数据,最终使用列选主元法,得到结果为:x1=x2=x3=1二 高斯-赛德尔迭代法输入各个数据,输出每一步迭代数据,最终结果为:x1=0.,x2=2.,x3=-3.附录(源程序及运行结果)一 列主元高斯消去法#include#includevoid print(double a33,int n,double b3)printf(输出矩阵:n);for(int i

4、=0;in;i+)for(int j=0;jfabs(d)d=aik;l=i;i+;printf(选出主元:%lfn,d);if(d=0)printf(矩阵奇异!n);else if(l!=k)for(int j=k;jn;j+)t=alj; alj=akj; akj=t;t=bl; bl=bk; bk=t;void main()double a33=2,1,1,1,3,2,1,2,2,b3=4,6,5;int k=0,i,j,n=3;print(a,n,b);while(k!=n-1)liezhuyuan(a,b,k,n);for(i=k+1;in;i+) aik=aik/akk;for(i=k+1;in;i+)for(j=k+1;j=0;i-)for(j=i+1;jn;j+)bi=bi-aij*bj;bi=bi/aii;printf(输出结果:);for(i=0;in;i+) printf(x%d=%lf ,i+1,bi);printf(n);运行结果:二 高斯-塞德尔迭代法#include#includevoid main()double a33=4,-2,-4,-2,17,10,4,10,9,b3=10,3,-7,x3=0,0,0,t,s,e,e0=0.;int n=3,i;doe=0;i=0;do

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论