Gauss~Seidel迭代法求解线性方程组

Gauss~Seidel迭代法求解线性方程组

ID:46689072

大小:141.59 KB

页数:7页

时间:2019-11-26

Gauss~Seidel迭代法求解线性方程组_第1页
Gauss~Seidel迭代法求解线性方程组_第2页
Gauss~Seidel迭代法求解线性方程组_第3页
Gauss~Seidel迭代法求解线性方程组_第4页
Gauss~Seidel迭代法求解线性方程组_第5页
资源描述:

《Gauss~Seidel迭代法求解线性方程组》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一.问题描述用Gauss-Seidel迭代法求解线性方程组由Jacobi迭代法中,每一次的迭代只用到前一次的迭代值。使用了两倍的存储空间,浪费了存储空间。若每一次迭代充分利用当前最新的迭代值,即在计算第个分量时,用最新分量,代替旧分量,,可以起到节省存储空间的作用。这样就得到所谓解方程组的Gauss-Seidel迭代法。二.算法设计将分解成,则等价于则Gauss-Seidel迭代过程故若设存在,则令则Gauss-Seidel迭代公式的矩阵形式为其迭代格式为(初始向量),或者一.程序框图开始读入数据,初始向量,增广矩阵k=N?输出迭代失败标志结束输出二

2、.结果显示TestBench利用Gauss-Seidel迭代法求解下列方程组,其中取。运行程序依次输入:1.方阵维数2.增广矩阵系数3.初始向量得到:迭代12次后算出x[1]=-4.0x[2]=3.0x[3]=2.0一.程序#include#include#include#include#defineMAX_n100#definePRECISION0.0000001#defineMAX_Number1000voidVectorInput(floatx[],intn)//输入初始向

3、量{inti;for(i=1;i<=n;++i){printf("x[%d]=",i);scanf("%f",&x[i]);}}voidMatrixInput(floatA[][MAX_n],intm,intn)//输入增广矩阵{inti,j;printf("输入系数矩阵:");for(i=1;i<=m;++i){printf("增广矩阵行数%d:",i);for(j=1;j<=n;++j)scanf("%f",&A[i][j]);}}voidVectorOutput(floatx[],intn)//输出向量{inti;for(i=1;i<=

4、n;++i)printf("x[%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("初始向量x0:");VectorInput(x

5、,n);k=0;do{for(i=1;i<=n;++i){printf("x[%d]=%f",i,x[i]);x_former[i]=x[i];}printf("");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)&&k

6、if(k>=MAX_Number)return1;else{printf("Gauss-Seidel迭代次数为%d次",k);return0;}}intmain()//主函数{intn;floatA[MAX_n][MAX_n],x[MAX_n];printf("方阵维数n=");scanf("%d",&n);if(n>=MAX_n-1){printf("07nmust<%d!",MAX_n);exit(0);}MatrixInput(A,n,n+1);if(Jacobi_(A,x,n))printf("Gauss-Seidel迭代

7、失败!");else{printf("结果:");VectorOutput(x,n);}printf("07Pressanykeytoquit!");getch();}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。