您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 高斯-赛德尔迭代法解线性方程组
数值分析实验五班级:10信计二班学号:59姓名:王志桃分数:一.实验名称高斯-赛德尔迭代法解线性方程组二.实验目的1.学会利用高斯赛德尔方法解线性方程组2.明白迭代法的原理3.对于大型稀疏矩阵方程组适用于迭代法比较简单三.实验内容利用Gauss-Seidel迭代法求解下列方程组36123633111420238321321321xxxxxxxxx,其中取0)0(x。四、算法描述由Jacobi迭代法中,每一次的迭代只用到前一次的迭代值,若每一次迭代充分利用当前最新的迭代值,即在计算第i个分量)1(kix时,用最新分量)1(1kx,)1(2kx)1(1-kix代替旧分量)(1kx,)(2kx)(1-kix,就得到所谓解方程组的Gauss-Seidel迭代法。其迭代格式为Tnxxxx)()0()0(2)0(1)0(,,,(初始向量),)(11111)()1()1(ijiijkjijkjijiiiiixaxabax)210i210(nk,,,;,,,或者写为)(1)210i210(1111)()1()1()()1(ijiijkjijkjijiiiiiikikixaxabaxnkkxxx,,,;,,,五、编码#includestdio.h#includestdlib.h#includeconio.h#includemath.h#defineMAX_n100#definePRECISION0.0000001#defineMAX_Number1000voidVectorInput(floatx[],intn)//输入初始向量{inti;for(i=1;i=n;++i){printf(x[%d]=,i);scanf(%f,&x[i]);}}voidMatrixInput(floatA[][MAX_n],intm,intn)//输入增广矩阵{inti,j;printf(\n===BegininputMatrixelements===\n);for(i=1;i=m;++i){printf(Input_Line%d:,i);for(j=1;j=n;++j)scanf(%f,&A[i][j]);}}voidVectorOutput(floatx[],intn)//输出向量{inti;for(i=1;i=n;++i)printf(\nx[%d]=%f,i,x[i]);}intIsSatisfyPricision(floatx1[],floatx2[],intn)//判断是否在规定精度内{inti;for(i=1;i=n;++i)if(fabs(x1[i]-x2[i])PRECISION)return1;return0;}intJacobi_(floatA[][MAX_n],floatx[],intn)//具体计算{floatx_former[MAX_n];inti,j,k;printf(\nInputvectorx0:\n);VectorInput(x,n);k=0;do{for(i=1;i=n;++i){printf(\nx[%d]=%f,i,x[i]);x_former[i]=x[i];}printf(\n);for(i=1;i=n;++i){x[i]=A[i][n+1];for(j=1;j=n;++j)if(j!=i)x[i]-=A[i][j]*x[j];if(fabs(A[i][i])PRECISION)x[i]/=A[i][i];elsereturn1;}++k;}while(IsSatisfyPricision(x,x_former,n)&&kMAX_Number);if(k=MAX_Number)return1;else{printf(\nG-S%dtimes!,k);return0;}}intmain()//主函数{intn;floatA[MAX_n][MAX_n],x[MAX_n];printf(\nInputn=);scanf(%d,&n);if(n=MAX_n-1){printf(\n\007nmust%d!,MAX_n);exit(0);}MatrixInput(A,n,n+1);if(Jacobi_(A,x,n))printf(\nG-SFailed!);else{printf(\nOutputSolution:);VectorOutput(x,n);}printf(\n\n\007Pressanykeytoquit!\n);getch();}通过实验使我更加熟练的掌握和使用高斯赛贝尔迭代法来解线性方程组,而且这个方法可以用来解大型的稀疏矩阵,是的解线性方程组更加的便捷。但是,这个实验很繁琐,必须要仔细的对待。
本文标题:高斯-赛德尔迭代法解线性方程组
链接地址:https://www.777doc.com/doc-4909165 .html