编程G-S迭代法解线性方程组
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/17 11:21:35
编程G-S迭代法解线性方程组
1,6,-2,5
4,1,-1,4
3,-2,5,6
1,6,-2,5
4,1,-1,4
3,-2,5,6
%不知道你要哪种程序语言,下面是MATLAB的希望是你要的,思路是对的,但是
%可能会有输入错误
function X=gseid(A,B,P,delta,max1)
%input - A is an N*N nonsingular matrix
% - B is an N*1 matrix
N=length(B)
for k=1:max1
for j=1:N
if j==1
X(1)=(B(1)-A(1,2:N)*P(2:N)/A(1,1);
elseif j==N
X(N)=)=(B(N)-A(N,1:N-1)*(X(1:N-1)')/A(N,N);
else
X(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);
relerr=err/(norm(X)+eps;
P=X';
if(e
%可能会有输入错误
function X=gseid(A,B,P,delta,max1)
%input - A is an N*N nonsingular matrix
% - B is an N*1 matrix
N=length(B)
for k=1:max1
for j=1:N
if j==1
X(1)=(B(1)-A(1,2:N)*P(2:N)/A(1,1);
elseif j==N
X(N)=)=(B(N)-A(N,1:N-1)*(X(1:N-1)')/A(N,N);
else
X(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);
relerr=err/(norm(X)+eps;
P=X';
if(e