《数值分析5-用Jacobi迭代法和Gauss-Seidel迭代法求解线性方程组(6页).doc》由会员分享,可在线阅读,更多相关《数值分析5-用Jacobi迭代法和Gauss-Seidel迭代法求解线性方程组(6页).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-作业六:分别编写用Jacobi迭代法和Gauss-Seidel迭代法求解线性方程组Ax=B的标准程序,并求下列方程组的解。可取初始向量 X(0) =(0,0,0);迭代终止条件|x(k+1)-x(k)|e for i=1:n d=A(i,i); if abs(d)100 warning(不收敛); endendx=x0;程序结果(1)(2) Gauss-Seidel迭代法:程序clear;clc;%A=8,-1,1;2,10,01;1,1,-5;%b=1;4;3;A=5,2,1;-1,4,2;2,-3,10;b=-12;20;3;m=size(A);if m(1)=m(2) error(矩阵
2、A不是方阵);endn=length(b);%初始化N=0;%迭代次数L=zeros(n);%分解A=D+L+U,D是对角阵,L是下三角阵,U是上三角阵U=zeros(n);D=zeros(n);G=zeros(n);%G=-inv(D+L)*Ud=zeros(n,1);%d=inv(D+L)*bx=zeros(n,1);for i=1:n%初始化L和U for j=1:n if ij U(i,j)=A(i,j); end endendfor i=1:n%初始化D D(i,i)=A(i,i);endG=-inv(D+L)*U;%初始化Gd=(D+L)b;%初始化d%迭代开始x1=x;x2=G*x+d;while norm(x2-x1,inf)10(-6) x1=x2; x2=G*x2+d; N=N+1;endx=x2;程序结果(1) (2) -第 6 页-