数值分析求收敛性用雅可比,高斯赛德尔法分别求下方程组矩阵的收敛性2 -1 11 1 11 1 -2

发布时间:2021-02-25 09:43:31

数值分析求收敛性用雅可比,高斯赛德尔法分别求下方程组矩阵的收敛性2 -1 11 1 11 1 -2

网友回答

雅科比法:function x=jcb(A,b,epsilon)
clc;m=max(size(A));
L=-tril(A,-1);
U=-triu(A,1);
D=diag(diag(A));
T=L+U;
for i=1:m
T(:,i)=huidai(D,T(:,i));
endif((norm(T,1)>=1)&&(norm(T)>=1)&&(norm(T,inf)>=1)&&(norm(T,'fro')>=1))error('迭代矩阵的谱范数>1,无法用此方法计算!');
endx=rand(m,1);
y=zeros(m,1);
while (norm(y-x))>epsilon
y=x;Dx=(L+U)*x+b;
for j=1:m
x(j,1)=Dx(j,1)/D(j,j);
end endx0=inv(A)*b;
r=norm(x0)-norm(x);
高斯赛德尔法(令参数w=1):
function x=sor(A,b,epsilon,w)
clc;m=max(size(A));
L=-tril(A,-1);
U=-triu(A,1);
D=diag(diag(A));
M=(1/w)*D-L;
N=((1-w)/w)*D+U;
T=zeros(m);
for i=1:m
T(:,i)=qiandai(M,N(:,i));
endif((norm(T,1)>=1)&&(norm(T)>=1)&&(norm(T,inf)>=1)&&(norm(T,'fro')>=1))error('迭代矩阵的谱范数>1,无法用此方法计算!');
endx=rand(m,1);
y=zeros(m,1);
while (norm(y-x))>epsilon
y=x;Mx=N*x+b;
x=qiandai(M,N*x+b);
endx0=inv(A)*b;
r=norm(x0)-norm(x);
用matlab很容易得出结果:雅科比法发散 GS法收敛
以上问题属网友观点,不代表本站立场,仅供参考!