预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

高斯-赛德尔迭代--高斯-赛德尔迭代-CAL-FENGHAI.-(YICAI)-CompanyOne1高斯-赛德尔迭代--高斯-赛德尔迭代--2012-2013(1)专业课程实践论文-高斯赛德尔迭代张禹廷,0818180111,R数学08-1班2高斯-赛德尔迭代--高斯-赛德尔迭代--一、算法理论高斯-赛德尔迭代是计算x(k1)的第i个分量x(k1)的方法,利用了已经计算i出得最新分量x(k1)(j1,2,...,i1).高斯-赛德尔迭代法可以看作雅克比迭代j法的一种改进.高斯-赛德尔迭代法没迭代一次只需计算一次矩阵与向量的乘法选取分裂矩阵M为A的下三角部分,即选取MDL(下三角矩阵),AMN,于是得到解Axb的高斯-赛德尔(Gauss-Seidel)迭代法x(0),初始向量x(k1)Bx(k)f,k0,1,...,(1)其中BI(DL)1A(DL)1UG,f(DL)1b.称G(DL)1U为解Axb的高斯-赛德尔迭代法的迭代矩阵.下面给出高斯-赛德尔迭代法的分量计算公式.记x(k)(x(k),...,x(k),...,x(k))T1in由(1)式有(DL)x(k1)Ux(k)b,或Dx(k1)Lx(k1)Ux(k)b,3高斯-赛德尔迭代--高斯-赛德尔迭代--即i1nax(k1)bax(k1)ax(k),i1,2,,...,n.iiiiijjijjj1ji1于是解Axb的高斯-赛德尔迭代法计算公式为x(0)(x(0),,x(0))T1ni1nx(k1)(bax(k1)ax(k))/aiiiijijjiij1ji1i1,2,,nk0,1,.二、算法框图4高斯-赛德尔迭代--高斯-赛德尔迭代--开始输入数据yxx(0)iiii1,2,...,nk1y(bay)/aiiijjiijii1,2,...,n.输出maxyx?ii1iny,y,...,ykk112nxyiii1,2,...,nkN?输出错误结束三、算法程序5高斯-赛德尔迭代--高斯-赛德尔迭代--#include"stdio.h"#include"math.h"#definem3floata[m][m];floatc[m];voidgaosi();voidmain(){inti,j;floatx[m],x1[m],eps[m];floats=0;floatt=0;intp=1;intq=1;intk=0;floateps1;gaosi();for(i=0;i<=m-1;i++){for(j=0;j<=m-1;j++){s=float(s+fabs(a[i][j]));t=float(t+fabs(a[j][i]));}q=q&&(s<2*fabs(a[i][i]));p=p&&(t<2*fabs(a[i][i]));6高斯-赛德尔迭代--高斯-赛德尔迭代--s=0;t=0;}if((p+q)==0)printf("ERROR!");else{for(i=0;i<=m-1;i++){x[i]=0;x1[i]=0;}do{eps1=x[0]-x1[0];for(i=0;i<=m-1;i++){for(j=0;j<=m-1;j++)s=s+a[i][j]*x[j];x[i]=(c[i]+a[i][i]*x[i]-s)/a[i][i];s=0;eps[i]=float(fabs(x[i]-x1[i]));x1[i]=x[i];eps1=(eps1>eps[i])eps1:eps[i];printf("x%d=%f",i,x[i]);printf("\n");}7高斯-赛德尔迭代--高斯-赛德尔迭代--k=k+1;}while(eps1>1e-3);printf("迭代%d次",k);}}voidgaosi(){inti,j;floatb[m*m];printf("请输入一个矩阵a:\n");for(i=0;i<=m-1;i++){for(j=0;j<=m-1;j++){scanf("%f",&b[j+i*m]);a[i][j]=b[j+i*m];}}printf("请输入矩阵b\n");for(i=0;i<=m-1;i++)scanf("%f",&c[i]);}8高斯-赛德尔迭代--高斯-赛德尔迭代--四、算法实现例1.利用高斯-赛德尔法迭代解方程8x3x2x201234x11xx331233x3x12x36123解:运行程序832(1)a4111显示出请输入一个矩阵:输入,回车。331220(2)b33显示出请输