gauss.m

来自「《MATLAB实用指南》系列丛书DE源代码」· M 代码 · 共 21 行

M
21
字号
function s=Gauss(a,b,x0,eps)
  % Gauss-Seidel迭代法解线性方程组
  % a为系数矩阵,b为方程组ax=b的右端项,x0为初值
  if nargin==3
      eps=1.0e-6;
  elseif nargin<3
      error
      return
  end
  D=diag(diag(a)); %求对角矩阵
  L=tril(a,-1); %求严格下三角矩阵
  U=triu(a,1); %求严格上三角矩阵
  C=inv(D+L);
  B=-C*U;
  f=C*b;
  s=B*x0+f;
  while norm(s-x0)>=eps
      x0=s;
      s=B*x0+f;
  end
  return

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?