sor.m

来自「Numerical analysis (Gauss、Bisection、jaco」· M 代码 · 共 22 行

M
22
字号
function s=SOR(a,b,x0,w,eps)
% SOR(超松弛)迭代法解线性方程组
% a为系数矩阵,b为方程组ax=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);
B=C*((1-w)*D+w*U);
f=w*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 + -
显示快捷键?