《《雅可比迭代法》doc版》由会员分享,可在线阅读,更多相关《《雅可比迭代法》doc版(3页珍藏版)》请在金锄头文库上搜索。
1、 雅可比迭代法班级:计算062 姓名:王保翔 3060811028目的意义:设方程组Ax=b的系数矩阵A非奇异而且,将A分裂为A=D+L+U,可以使计算简便。其中,思想:A=D+L+U,其中, 将方程组乘以,得到等价的方程组,i=1,2,n算法:Step1:给定一组x,即初值。Step2:用for循环计算: xk+1=(bi-)/akk.Step3:当abs(xk+1-xk)eps时停止。程 序:#include#define p 0.1#define N 5void main() int i,j,k,s,n; double xN,aNN,bN,qN,cN,dN; double t,u; pr
2、intf(Input n:); scanf(%d,&n); for(i=0;i=n;i+) printf(Input x%d,b%d:,i,i); scanf(%lf,%lf,&xi,&bi); for(i=0;i=n;i+) for(j=0;j=n;j+) printf(Input a%d%d:,i,j); scanf(%lf,&aij); for(i=0;i=n;i+) for(j=0;j=n;j+) printf(a=%lfn,aij); for(k=0; ;k+) t=0; for(s=0;s=n;s+) ds=xs; for(i=0;i=n;i+) u=0; di=xi; for(j
3、=0;j=n;j+) if(j!=i) u=u+aij*dj; else continue; printf(u=%lfn,u); xi=(bi-u)/aii; qi=xi-di; printf(x%d=%lfn,i,xi); for(i=0;i=0) ci=qi; else ci=-qi; t=t+ci; if(tp) break; printf(k=%dn,k); for(i=0;i=n;i+) printf(x%d=%lfn,i,xi);算例及运算结果:分析:输入初始向量和矩阵为数经过k次迭代后输出x的值,结果正确可靠。参考文献1刑志栋,矩阵数值分析, 陕西: 陕西科学技术出版社, 2005。2谭浩强,C语言程序设计,北京:清华大学出版社,2005。3翁惠玉,c语言程序设计思想与方法,北京:人民邮电出版社,2008