高斯-赛德尔迭代_第1页
高斯-赛德尔迭代_第2页
高斯-赛德尔迭代_第3页
高斯-赛德尔迭代_第4页
高斯-赛德尔迭代_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

1、实验题目:数值分析之高斯-赛德尔迭代学生姓名:专 业:学 号: 完成日期:实验题目:数值分析之高斯-赛德尔迭代学生姓名:学号:完成日期:2011.10.211实验目的7x1x22x3 = 10利用高斯-赛德尔迭代法求解线性方程组<x1 +8x2 +2x3 =82x1 2x2 9x3 = 6I2实验步骤2.1算法原理高斯-赛德尔迭代是计算 x*十的第i个分量乂广书,利用了已经计算出得最新分量 x;k,)=(j =1,2,., i -1).高斯-赛德尔迭代法可以看作雅克比迭代法的一种改进.高斯-赛德尔迭代法没迭代一次只需计算一次矩阵与向量的乘法2.2算法步骤选取分裂矩阵 M为A的下三角部分,

2、即选取 M =DL (下三角矩阵),A = M N , 于是得到解 Ax = b的高斯-赛德尔(Gauss-Seidel )迭代法x(0),初始向量 (2.4 )、x(k*)= Bx(k) + f, k = 0,1,.,其中 B=I (D L)A=(D L)、U 三 G,f =(DL)b.称 G=(DL)“U 为解Ax =b的高斯-赛德尔迭代法的迭代矩阵.下面给出高斯-赛德尔迭代法的分量计算公式.记x(k) =(x(k) x(k) Y(k)T人 (x1,., xi ,., x n )由(2.4 )式有(D -L)x(k 1) =Ux(k) b,或Dx(k1) =Lx(k1) Ux(k) b,(

3、k aiiXi于是解Ax =b的高斯-赛德尔迭代法计算公式为 (0),(0)X = (Xi(f/卜Xi =(bi(0)、T X ,八ni.二.a iij =1(k 1)Xja aij(k)Xj )/aiii = 1,2,. .,n ik = 0,1,. .2.3程序流程图i Jn1)- 二(k 1)(k)=bi -、aij Xj - y aijXjj 4j A 13实验结果分析博输入个矩阵视: 18 2 备备次矩阵h in 8 6X0=1.428571 xl=0.821429 x2=0.166667 x01.263606 xl=fl.80U3B3 x2=0.208003 x01.254802

4、xl=0.791149 x2=3.212011 x01.254976 xl=0.790125 x2-0.212208 x0=l.255068 xl=0.7900&7 x2=0.212192 迭代5次Preas any key to continue4实验结论高斯-赛德尔迭代法是计算x(k中的第i个分量Xi(k+),利用了已经计算出得最新分量x(k* =(j =1,2,., i 1) ,高斯-赛德尔迭代法可以看作雅克比迭代法的一种改进5实验心得体会此次实验,我体会到了计算机与数学的紧密联系-利用计算机解决复杂的数学问题。参考文献白峰杉.数值分析引论.北京:高等教育出版社,2004.李庆扬

5、,王能超,易大义.数值分析.武汉:华中理工大学出版社,1986.附录(源代码)#include "stdio.h" #include "math.h" # define m 3 float amm;float cm;void gaosi();void main()(int i,j;float xm,x1m,epsm;float s=0;float t=0;int p=1;int q=1;int k=0;float eps1;gaosi();for(i=0;i<=m-1;i+)(for(j=0;j<=m-1;j+)(s=float(s+fabs

6、(aij);t=float(t+fabs(aji);q=q&&(s<2*fabs(aii);p=p&&(t<2*fabs(aii);s=0;t=0;if(p+q)=0)printf("ERROR!”);else(xi=0;x1i=0;do(eps1=x0-x10;for(i=0;i<=m-1;i+)(for(j=0;j<=m-1;j+) s=s+aij*xj;xi=(ci+aii*xi-s)/aii;s=0;epsi=float(fabs(xi-x1i);x1i=xi;eps1=(eps1>epsi)?eps1:epsi;printf("x%d=%f",i,xi);printf("n");k=k+1;while(eps1>1e-3);printf(" 迭代 %d 次”,k);void gaosi()(int i,j;float bm*m;printf("请输入一个矩阵 a: n");for(i=0;i<=m-1;i+)for(j=0;j<=m-1;j+)(scanf("%f"

温馨提示

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

评论

0/150

提交评论