sor.m

来自「有关matlab r2007的实用教程」· M 代码 · 共 21 行

M
21
字号
function S=SOR(A,b,x0,w,eps)
%该函数文件是通过SOR迭代格式求解线性方程组的近似解
%其中,A为方程组的系数矩阵,b为方程组的右端向量,x0为迭代初值,w为松弛因子
if nargin==4
    eps=1.0e-6;
elseif nargin<4
    error
    return
end
D=diag(diag(A));    %求解对角阵
L=-tril(A,-1);        %求解出严格下对角阵
U=-triu(A,1);        %求解出严格上对角阵
C=inv(D-w*L);      %求解出迭代矩阵
B0=C*[(1-w)*D+w*U];
f=w*C*b;
S=B0*x0+f;
while norm(S-x0)>=eps
    x0=S;
    S=B0*x0+f;
end

⌨️ 快捷键说明

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