《数值分析5-用Jacobi迭代法和Gauss-Seidel迭代法求解线性方程组.docx》由会员分享,可在线阅读,更多相关《数值分析5-用Jacobi迭代法和Gauss-Seidel迭代法求解线性方程组.docx(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)|efor i=1:nd=A(i,i);if abs(d)100warning(不收敛);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 不是方阵);end n=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)*U d=zeros(n,1);%d=inv(D+L)*b x=zeros(n,1);for i=1:n%初始化 L 和 U for j=1:nif ijendL(i,j)=A(i,j);U(i,j)=A(i,j);for i=1:n%初始化 D D(i,i)=A(i,i);endG=-inv(D+L)*U;%初始化 G d=(D+L)b;%初始化 d%迭代开始x1=x; x2=G*x+d;while norm(x2-x1,inf)10(-6)endx1=x2; x2=G*x2+d; N=N+1;x=x2;程序结果(1)(2)