如何在matlab中计算gauss-siedel方法的迭代

如何在matlab中计算gauss-siedel方法的迭代,matlab,Matlab,我想在matlab中计算高斯-西格尔法的迭代次数 这是我的密码 alpha=1; A=zeros(30,30); A(1,1)=-(2+alpha); A(1,2)=1; for i=2:29 A(i,i-1)=1; A(i,i)=-(2+alpha); A(i,i+1)=1; end A(30,29)=1; A(30,30)=-(2+alpha); D=diag(diag(A)); R=A-D; x=zeros(30,1); list=[]; count=0;

我想在matlab中计算高斯-西格尔法的迭代次数

这是我的密码

alpha=1;
A=zeros(30,30);
A(1,1)=-(2+alpha);
A(1,2)=1;

for i=2:29
    A(i,i-1)=1;
    A(i,i)=-(2+alpha);
    A(i,i+1)=1;
end

A(30,29)=1;
A(30,30)=-(2+alpha);

D=diag(diag(A));
R=A-D;
x=zeros(30,1);
list=[];
count=0;

for k=1:150
    xkk= inv(L)*(b-(U*x));
    count=count+1;
    list(count,:)=xk;
    if(norm(xkk-x)<=10^-5)
        break;
    end
    x=xkk;
end

count
alpha=1;
A=零(30,30);
A(1,1)=-(2+α);
A(1,2)=1;
因为i=2:29
A(i,i-1)=1;
A(i,i)=-(2+α);
A(i,i+1)=1;
结束
A(30,29)=1;
A(30,30)=-(2+α);
D=诊断(诊断(A));
R=A-D;
x=零(30,1);
列表=[];
计数=0;
对于k=1:150
xkk=inv(L)*(b-(U*x));
计数=计数+1;
列表(计数,:)=xk;

如果(norm(xkk-x)像这样更改最后一部分:

xkk= inv(L)*(b-(U*x));
e=norm(xkk-x);
while(e>10^-5)
    xkk= inv(L)*(b-(U*x));
    count=count+1;
    list(count,:)=xk;
    e=norm(xkk-x)
    x=xkk;
end