sor.m
来自「本文件提供了几个数值分析中的Matlab小程序。水平有限」· M 代码 · 共 38 行
M
38 行
function [x,k]=sor(a,b,w,x0,e)
n=length(a);
for i=1:n
m(i)=a(i,i);
for j=1:n
if i>j
v(i,j)=a(i,j);
u(i,j)=0;
else
if i<j
v(i,j)=0;
u(i,j)=-a(i,j);
else
v(i,j)=0;
u(i,j)=0;
end
end
end
end
d=diag(m);
l1=d+w*v;
l=inv(l1);
s=(1-w)*d+w*u;
z=l*s;
p=w*l*b;
x=z*x0+p;
k=1;
while norm(x-x0,'inf')/norm(x,'inf')>e
x0=x;
k=k+1;
x=z*x0+p;
if k==1000
break;
end
end
f=norm(x-x0,'inf')/norm(x,'inf')
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?