编程G-S迭代法解线性方程组
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/25 18:34:26
编程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
![编程G-S迭代法解线性方程组](/uploads/image/z/4794714-18-4.jpg?t=%E7%BC%96%E7%A8%8BG-S%E8%BF%AD%E4%BB%A3%E6%B3%95%E8%A7%A3%E7%BA%BF%E6%80%A7%E6%96%B9%E7%A8%8B%E7%BB%84)
%不知道你要哪种程序语言,下面是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