matlab高斯-赛德尔迭代程序
matlab中应用的高斯-赛德尔迭代程序主程序如下:functionX=gsdddy(A,b,X0,P,wucha,max1)D=diag(diag(A);U=-triu(A,1);L=-tril(A,-1);dD=det(D);ifdD=0disp('请注意:因为对角阵D奇异,所以此方程无解)elsedisp('请注意:因为对角阵距HE奇异,所以此方程有解)iD=inv(D-L);B2=iD*U;f2=iD*b;jX=Ab;X=X0;nm=size(A);fork=1:max1X1=B2*X+f2;djwcX=norm(X1-X,P);xdwcX=djwcX/(norm(X,P)+eps);if(djwcX<wucha)|(xdwcX<wucha)returnelsek;X1'k=k+1;X=X1;endendif(djwcX<wucha)|(xdwcX<wucha)disp('请注意:高斯赛德尔迭代收敛,此A的分解矩阵D,U,L和方程组的精确解jX和近似解X如下:)elsediso('请注意:高斯赛德尔迭代的结果没有达到给定的精度,并且迭代次数已经超过最大迭代次数maxi,方程组的精确解jx和迭代X如下:)X=X'jX=kX'endendX=X'D;U;L;jX=jX'在主窗口框中输入以下例子>>A=1031;2-103;1310;>>b=14;11;20;X0=000'>>X=gsdddy(A,b,X0,inf,0.001,100)请注意:因为对角矩阵D非奇异,所以此方程组有解。1.2820-0.25921.9496欢迎您的下载,资料仅供参考!致力为企业和个人提供合同协议,策划案计划书,学习资料等等打造全网一站式需求