主题:[讨论]请求高手帮忙!!!
function [amax,P,L,U,x]=gepp(A,n,b)
%amax is the n-dim vector the maxmum element of every step
%aa is the max element of A; x is the solution;
% P*L*U=A:
n=max(size(A));%测定维数
B=A; P=1:n; U=zeros(n); L=zeros(n);
amax(1)=max(max(abs(A)));
for k=1:n-1
[s1,s2]=max(abs(B(:,1)));
B([1,s2],:)=B([s2 1],:);
m=k+s2-1;
P([k m])=P([m k]);
U([m k],:)=U([k m],:);
L([m k],:)=L([k m],:);
piv=B(2:n-k+1,1)/B(1,1);
这是一个高斯列主元消去法的程序,可是运行时有错误,大家帮忙看看啊!其中:
A=[31 -13 0 0 0 -10 0 0 0;-13 35 -9 0 -11 0 0 0 0;0 -9 31 -10 0 0 0 0 0;0 0 -10 79 -30 0 0 0 -9;0 0 0 -30 57 -7 0 -5 0;0 0 0 0 -7 47 -30 0 0;0 0 0 0 0 -30 41 0 0;0 0 0 0 -5 0 0 27 -2;0 0 0 -9 0 0 0 -2 29];
b=[-15 27 -23 0 -20 12 -7 7 10]'
u=B(1,2:n-k+1);
U(k,k:n)=B(1,:);
L(k+1:n,k)=piv;
B(1,:)=[];
B(:,1)=[];
B=B-piv*u;
amax(k+1)=max(max(abs(B)));
end
U(n,n)=B; L=L+eye(n);
% Permutation and forward elimination
y = zeros(n,1);
for k=1:n
j=1:k-1;
y(k)=b(P(k))-L(k,j)*y(j);
end
% Back substitution
x = zeros(n,1);
for k = n:-1:1
j = k+1:n;
x(k)=(y(k)-U(k,j)*x(j))/U(k,k);
end
%amax is the n-dim vector the maxmum element of every step
%aa is the max element of A; x is the solution;
% P*L*U=A:
n=max(size(A));%测定维数
B=A; P=1:n; U=zeros(n); L=zeros(n);
amax(1)=max(max(abs(A)));
for k=1:n-1
[s1,s2]=max(abs(B(:,1)));
B([1,s2],:)=B([s2 1],:);
m=k+s2-1;
P([k m])=P([m k]);
U([m k],:)=U([k m],:);
L([m k],:)=L([k m],:);
piv=B(2:n-k+1,1)/B(1,1);
这是一个高斯列主元消去法的程序,可是运行时有错误,大家帮忙看看啊!其中:
A=[31 -13 0 0 0 -10 0 0 0;-13 35 -9 0 -11 0 0 0 0;0 -9 31 -10 0 0 0 0 0;0 0 -10 79 -30 0 0 0 -9;0 0 0 -30 57 -7 0 -5 0;0 0 0 0 -7 47 -30 0 0;0 0 0 0 0 -30 41 0 0;0 0 0 0 -5 0 0 27 -2;0 0 0 -9 0 0 0 -2 29];
b=[-15 27 -23 0 -20 12 -7 7 10]'
u=B(1,2:n-k+1);
U(k,k:n)=B(1,:);
L(k+1:n,k)=piv;
B(1,:)=[];
B(:,1)=[];
B=B-piv*u;
amax(k+1)=max(max(abs(B)));
end
U(n,n)=B; L=L+eye(n);
% Permutation and forward elimination
y = zeros(n,1);
for k=1:n
j=1:k-1;
y(k)=b(P(k))-L(k,j)*y(j);
end
% Back substitution
x = zeros(n,1);
for k = n:-1:1
j = k+1:n;
x(k)=(y(k)-U(k,j)*x(j))/U(k,k);
end