1、雅可比迭代法的Matlab程序,function X=jacobi(A,b,P,delta,max1) %A是n维非奇异阵。%b是n维向量。%P是初值。%delta是误差界。 %max1是给定的迭代最高次数。%X为所求的方程组AX=b的近似解。 N=length(b); for k=1:max1 for j=1:NX(j)=(b(j)-A(j,1:j-1,j+1:N)*P(1:j-1,j+1:N)/A(j,j);enderr=abs(norm(X-P);P=X;if(errdelta)breakend end X=X;k,err;,function X=gseid(A,b,P,delta,ma
2、x1) %A是n维非奇异阵。%b是n维向量。%P是初值。 %delta是误差界。%max1是给定的迭代最高次数。%X为所求的方程组AX=b的近似解。 N=length(b); for k=1:max1 for j=1:Nif j=1X(1)=(b(1)-A(1,2:N)*P(2:N)/A(1,1);elseif j=NX(N)=(b(N)-A(N,1:N-1)*(X(1:N-1)/A(N,N);elseX(j)=(b(j)-A(j,1:j-1)*X(1:j-1)-A(j,j+1:N)*P(j+1:N)/A(j,j);end end err=abs(norm(X-P); P=X; if(errd
3、elta)break end end X=X; err,k,塞德尔迭代法的迭代程序:,雅可比迭代法的Matlab程序,function X=jacobi(A,b,P,delta,max1) %A是n维非奇异阵。%b是n维向量。%P是初值。%delta是误差界。 %max1是给定的迭代最高次数。%X为所求的方程组AX=b的近似解。 N=length(b); for k=1:max1 for j=1:NX(j)=(b(j)-A(j,1:j-1,j+1:N)*P(1:j-1,j+1:N)/A(j,j);enderr=abs(norm(X-P);P=X;if(errdelta)breakend end
4、 X=X;k,err;,function X=gseid(A,b,P,delta,max1) %A是n维非奇异阵。%b是n维向量。%P是初值。 %delta是误差界。%max1是给定的迭代最高次数。%X为所求的方程组AX=b的近似解。 N=length(b); for k=1:max1 for j=1:Nif j=1X(1)=(b(1)-A(1,2:N)*P(2:N)/A(1,1);elseif j=NX(N)=(b(N)-A(N,1:N-1)*(X(1:N-1)/A(N,N);elseX(j)=(b(j)-A(j,1:j-1)*X(1:j-1)-A(j,j+1:N)*P(j+1:N)/A(j
5、,j);end end err=abs(norm(X-P); P=X; if(errdelta)break end end X=X; err,k,塞德尔迭代法的迭代程序:,雅可比迭代法的Matlab程序,function X=jacobi(A,b,P,delta,max1) %A是n维非奇异阵。%b是n维向量。%P是初值。%delta是误差界。 %max1是给定的迭代最高次数。%X为所求的方程组AX=b的近似解。 N=length(b); for k=1:max1 for j=1:NX(j)=(b(j)-A(j,1:j-1,j+1:N)*P(1:j-1,j+1:N)/A(j,j);enderr
6、=abs(norm(X-P);P=X;if(errdelta)breakend end X=X;k,err;,function X=gseid(A,b,P,delta,max1) %A是n维非奇异阵。%b是n维向量。%P是初值。 %delta是误差界。%max1是给定的迭代最高次数。%X为所求的方程组AX=b的近似解。 N=length(b); for k=1:max1 for j=1:Nif j=1X(1)=(b(1)-A(1,2:N)*P(2:N)/A(1,1);elseif j=NX(N)=(b(N)-A(N,1:N-1)*(X(1:N-1)/A(N,N);elseX(j)=(b(j)-A(j,1:j-1)*X(1:j-1)-A(j,j+1:N)*P(j+1:N)/A(j,j);end end err=abs(norm(X-P); P=X; if(errdelta)break end end X=X; err,k,塞德尔迭代法的迭代程序:,