高斯-赛德尔迭代(共10页).doc
《高斯-赛德尔迭代(共10页).doc》由会员分享,可在线阅读,更多相关《高斯-赛德尔迭代(共10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上2012-2013(1)专业课程实践论文高斯-赛德尔迭代张禹廷,R数学08-1班一、算法理论高斯-赛德尔迭代是计算的第个分量的方法,利用了已经计算出得最新分量.高斯-赛德尔迭代法可以看作雅克比迭代法的一种改进.高斯-赛德尔迭代法没迭代一次只需计算一次矩阵与向量的乘法选取分裂矩阵为的下三角部分,即选取(下三角矩阵),于是得到解的高斯-赛德尔(Gauss-Seidel)迭代法 (1)其中称为解的高斯-赛德尔迭代法的迭代矩阵.下面给出高斯-赛德尔迭代法的分量计算公式.记由(1)式有 或即 于是解的高斯-赛德尔迭代法计算公式为二、算法框图 开始输入数据输出错误结束三、算法程序
2、#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(aij); t=float(t+fabs(aji); q=q&(s2*fabs(aii); p=p&(t2*fabs(aii)
3、; s=0; t=0; if(p+q)=0) printf(ERROR!); else for(i=0;i=m-1;i+) xi=0; x1i=0; do eps1=x0-x10; for(i=0;i=m-1;i+) for(j=0;jepsi)?eps1:epsi; printf(x%d=%f,i,xi); printf(n); k=k+1; while(eps11e-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,&bj+i*m); aij=bj+i*m; printf(请输入矩阵bn); for(i=0;i=m-1;i+) scanf(%f,&ci);四、算法实现例1利用高斯-赛德尔法迭代解方程 解:运行程序(1) 显示出 请输入一个矩阵:输入,回车。(2) 显示出 请输入矩阵:输入,回车。(3) 显示结果: 例2利用高斯-赛德尔法迭代解方程 解:运行程序(1) 显示出 请输入一个矩阵a:输入,回车。(2) 显示出 请输入矩阵b:输入,回车。(3) 显示结果: 专心-专注-专业
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 赛德尔迭代 10
限制150内