您好,欢迎访问三七文档
2012-2013(1)专业课程实践论文高斯-赛德尔迭代张禹廷,0818180111,R数学08-1班一、算法理论高斯-赛德尔迭代是计算)1(kx的第i个分量)1(kix的方法,利用了已经计算出得最新分量)1,...,2,1()1(ijxkj.高斯-赛德尔迭代法可以看作雅克比迭代法的一种改进.高斯-赛德尔迭代法没迭代一次只需计算一次矩阵与向量的乘法选取分裂矩阵M为A的下三角部分,即选取LDM(下三角矩阵),NMA,于是得到解bAx的高斯-赛德尔(Gauss-Seidel)迭代法,...,1,0,,)()1()0(kfBxxxkk初始向量(1)其中.)(,)()(111bLDfGULDALDIB称ULDG1)(为解bAx的高斯-赛德尔迭代法的迭代矩阵.下面给出高斯-赛德尔迭代法的分量计算公式.记Tknkikkxxxx),...,,...,()()()(1)(由(1)式有,)()()1(bUxxLDkk或,)()1()1(bUxLxDxkkk即111)()1()1(.,...,,2,1,ijnijkjijkjijikiiinixaxabxa于是解bAx的高斯-赛德尔迭代法计算公式为.,1,0,,2,1/)(),,(1)(11)1()1()0()0(1)0(kniaxaxabxxxxiinijkjijijkjiiikiTn二、算法框图开始输入数据.,...,2,1/)(niayabyiiijjijii?max1iinixy1knixxyiii,...,2,1)0(?Nk输出错误niyxkkii,...,2,11nyyy,...,,21输出结束三、算法程序#includestdio.h#includemath.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&&(s2*fabs(a[i][i]));p=p&&(t2*fabs(a[i][i]));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=(eps1eps[i])?eps1:eps[i];printf(x%d=%f,i,x[i]);printf(\n);}k=k+1;}while(eps11e-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]);}四、算法实现例1.利用高斯-赛德尔法迭代解方程3612333311420238321321321xxxxxxxxx解:运行程序(1)显示出请输入一个矩阵a:输入12331114238,回车。(2)显示出请输入矩阵b:输入363320,回车。(3)显示结果:2.5000000x090909.21x852273.12x2.8210230x2.1425621x1.7591042x2.8636850x2.1185791x1.7544342x2.8558590x2.1210001x1.7557852x2.8564280x2.1209161x1.7556642x例2.利用高斯-赛德尔法迭代解方程69228281027321321321xxxxxxxxx解:运行程序(1)显示出请输入一个矩阵a:输入922281217,回车。(2)显示出请输入矩阵b:输入6810,回车。(3)显示结果:1.4285710x0.8214291x0.1666672x1.2636060x0.8003831x0.2080032x1.2548020x0.7911491x0.2120112x1.2549760x0.7901251x0.2122002x1.2550680x0.7900671x0.2121922x
本文标题:高斯-赛德尔迭代
链接地址:https://www.777doc.com/doc-7270656 .html