📄 sordiedai.m
字号:
function [x, k]=sordiedai(w, diecimax)
% 求解线性方程组的松弛(SOR)迭代法,其中
% A --- 方程组的系数矩阵
% b --- 方程组的右端项
% ep --- 精度要求
% w --- 松弛因子,省缺为1
% diecimax --- 最大迭代次数,省缺为50
% x --- 方程组的解
% k --- 迭代次数
format long
A=[5,2,1;-1,4,2;2,-3,10];b=[-12;20;3];
if nargin <2 diecimax=50; end
if nargin <1 w=1; end
ep=1e-10;
n=length(A); k=0;
x=zeros(n,1); y=zeros(n,1);
while 1
y=x;
for i=1:n
z=b(i);
for j=1:n
if j~=i
z=z-A(i,j)*x(j);
end
end
if abs(A(i,i))<1e-8 | k==diecimax
k='Diedai fails.';
return;
end
z=z/A(i,i); x(i)=(1-w)*x(i)+w*z;
end
if norm(y-x,inf)<ep
break;
end
k=k+1;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -