matlab高斯-赛德尔迭代程序.docVIP

  • 32
  • 0
  • 约小于1千字
  • 约 2页
  • 2019-10-22 发布于广东
  • 举报
matlab中应用的高斯-赛德尔迭代程序 主程序如下: function X=gsdddy(A,b,X0,P,wucha,max1) D=diag(diag(A));U=-triu(A,1); L=-tril(A, -1);dD=det(D); if dD==0 disp(请注意:因为对角阵D奇异,所以此方程无解) else disp(请注意:因为对角阵距D非奇异,所以此方程有解) iD=inv(D -L);B2=iD*U;f2=iD*b;jX=A\b; X=X0;[n m]=size(A); for k=1:max1 X1=B2*X+f2;djwcX=norm(X1 -X,P); xdwcX=djwcX/(norm(X,P)+eps); if(djwcXwucha)|(xdwcXwucha) return else k;X1;k=k+1;X=X1; end end if(djwcXwucha)|(xdwcXwucha) disp(请注意:高斯-赛德尔迭代收敛,此A的分解矩阵D,U,L和方程组的精确解jX和近似解X如下:) else diso(请注意:高斯-赛德尔迭代的结果没有达到给定的精度,并且迭代次数已经超过最大迭代次数max1,方程组的精

文档评论(0)

1亿VIP精品文档

相关文档