6;Р M = 200;Рelseif nargin == 4Р M = 200;Рelseif nargin<3Р errorР return;Рend РD=diag(diag(A)); %求A的对角矩阵РL=-tril(A,-1); %求A的下三角阵РU=-triu(A,1); %求A的上三角阵РG=(D-L)\U;Рf=(D-L)\b;Рx=G*x0+f;Рn=1; %迭代次数Рwhile norm(x-x0)>=epsР x0=x;Р x=G*x0+f;Р n=n+1;Р if(n>=M)Р disp('Warning: 迭代次数太多,可能不收敛!');Р return;Р endРendР(1)在命令窗口中,输入程序如下:Р>> A=[5,2,1;-1,4,2;2,-5,10]РA =Р 5 2 1Р -1 4 2Р 2 -5 10Р>> D=diag(diag(A))РD =Р 5 0 0Р 0 4 0Р 0 0 10Р>> L=-tril(A,1)РL =Р -5 -2 0Р 1 -4 -2Р -2 5 -10Р>> U=-triu(A,1)РU =Р 0 -2 -1Р 0 0 -2Р 0 0 0Р>> G=(D-L)\UРG =Р 0 -0.1945 -0.0515Р 0 -0.0275 -0.2426Р 0 0.0126 -0.0555Р>>p=abs(eigs(G,1))Рp =Р0.0677Р因p =0.0677<1,该矩阵方程组Gauss-Seidel迭代收敛。Р (2)命令窗口中输入程序如下:Р>> A=[5,2,1;-1,4,2;2,-5,10];Р>> b=[-12,10,1]';Р>> x0=zeros(3,1);Р>> [x,n]=gauseidel(A,b,x0)Рx =Р -3.0909Р 1.0945Р 1.2655Рn =Р 11