1、实验题目1 Jacobi迭代法用 Jacobi 迭代法求解线性方程组 ,保留四位有效数字(err1e-4),AXb其中 A=8 -1 1;2 10 -1;1 1 -5; b=1 ;4; 3。2Gauss-Seidel迭代法用Gauss-Seidel迭代法求解线性方程组 ,保留四位有效数字 (err1e-4) ,b其中A=8 -1 1;2 10 -1;1 1 -5; b=1 ;4; 3。3分别用 Jacobi 迭代法和 Gauss-Seidel 迭代法求解方程组 123456401014010xx要求精度 ,初始 ,最大迭代次数 N=25,试比较这几种迭代法.x的迭代次数和收敛速度。1.程序:#
2、include#includeint main()int n=3,i,k,j,mm=1000;/最大迭代次数;float t,xmmn,dxn,dx_max=1,err=1e-4;/精度for(i=0;i1e-8;k+)dx_max=0;for(i=0;i#includeint main()int n=3,i,k,j,mm=1000;/最大迭代次数;float t,xmmn,dxn,dx_max=1,err=1e-4;/精度for(i=0;i1e-8;k+)dx_max=0;for(i=0;i#includeint main()int n=6,i,k,j,mm=1000;/最大迭代次数;flo
3、at t,xmmn,dxn,dx_max=1,err=1e-5;/精度for(i=0;ipow(err,2);k+)dx_max=0;for(i=0;i#includeint main()int n=6,i,k,j,mm=25;/最大迭代次数;float t,xmmn,dxn,dx_max=1,err=1e-5;/精度for(i=0;ipow(err,2)k+)dx_max=0;for(i=0;in;i+)if(i=0)t=0;for(j=i+1;jn;j+)t+=aij*xkj;xk+1i=bi-t;elset=0;for(j=0;j=i-1;j+)t+=aij*xk+1j;for(j=i+
4、1;jn;j+)t+=aij*xkj;xk+1i=bi-t;printf(“%0.4f “,xk+1i);dxi=xk+1i-xki;dx_max+=pow(dxi,2);printf(“ %dn“,k+1); printf(“n“);程序结果:a 对角 0 化处理后的 (a66,b61)=0.0000 -0.2500 0.0000 -0.2500 0.0000 0.0000 0.0000-0.2500 0.0000 -0.2500 0.0000 -0.2500 0.0000 1.25000.0000 -0.2500 0.0000 0.0000 0.0000 -0.2500 0.0000-0.
5、2500 0.0000 0.0000 0.0000 -0.2500 0.0000 1.50000.0000 -0.2500 0.0000 -0.2500 0.0000 -0.2500 -0.50000.0000 0.0000 -0.2500 0.0000 -0.2500 0.0000 1.5000精度 1e-005 时,解 x6=0.0000 1.2500 0.3125 1.5000 0.1875 1.6250 10.6875 1.5469 0.7930 1.7188 0.7227 1.8789 20.8164 1.8330 0.9280 1.8848 0.8992 1.9568 30.929
6、4 1.9391 0.9740 1.9572 0.9633 1.9843 40.9741 1.9778 0.9905 1.9843 0.9866 1.9943 50.9905 1.9919 0.9966 1.9943 0.9951 1.9979 60.9966 1.9971 0.9987 1.9979 0.9982 1.9992 70.9987 1.9989 0.9995 1.9992 0.9994 1.9997 80.9995 1.9996 0.9998 1.9997 0.9998 1.9999 90.9998 1.9999 0.9999 1.9999 0.9999 2.0000 100.9999 1.9999 1.0000 2.0000 1.0000 2.0000 111.0000 2.0000 1.0000 2.0000 1.0000 2.0000 121.0000 2.0000 1.0000 2.0000 1.0000 2.0000 131.0000 2.0000 1.0000 2.0000 1.0000 2.0000 14