sor.m
来自「基于Matlab的计算方法中常用的算法程序」· 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 + -
显示快捷键?