我對雅可比方法寫了下面的功能,並需要修改它來執行高斯 - 賽德爾雅可比迭代高斯 - 賽德爾
function [ x,iter] = jacobi(A,b,tol,maxit)
%jacobi iterations
%
x=zeros(size(b));
[n,m]=size(A);
i=1;
iter=maxit;
for i=1:maxit
for j=1:n
y(j)=(b(j)-A(j,1:j-1)*x(1:j-1)-A(j,j+1:n)*x(j+1:n))/A(j,j)
end
if max(abs(A*y'-b))<tol
iter=i;
break;
end
x=y';
end
我知道我需要x(1:j-1)
更新,但我不確定如何寫它,謝謝
我試過這個,並得到了與jacobi完全相同的結果 –
@ J.c請在我的答案中看到我的更新。謝謝。 – lennon310