565473313
2012-11-08, 13:33
function[x]=gauss1(A,b)
[n,cl]=size(A);
for k= 1:n
p(k)=k;
end
for k=1:n-1
[temp,maxk]=max(abs(A(k:n,k)));
maxk=maxk+k-1;
if (maxk~=k)
temp1=A(k,1:n);
A(k,1:n)=A(maxk,1:n);
temp2=p(k);
p(k)=p(maxk);
p(maxk)=temp2;
end
if (A(k,k)~=0)
A(k+1:n,k)=A(k+1:n,k)/A(k,k);
A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-A(k+1:n,k)*A(k,k+1:n);
end
end
clear temp temp1 temp2
b=b(p);
for k=2:n
b(k)=b(k)-A(k,1:k-1)*b(1:k-1)';
end
b(n)=b(n)/A(n,n);
for k=n-1:-1:1
b(k)=(b(k)-A(k,k+1:n)*b(k+1:n)')/A(k,k);
end
x(k)=b(k);
end
请问哪里不正确?感谢。
[n,cl]=size(A);
for k= 1:n
p(k)=k;
end
for k=1:n-1
[temp,maxk]=max(abs(A(k:n,k)));
maxk=maxk+k-1;
if (maxk~=k)
temp1=A(k,1:n);
A(k,1:n)=A(maxk,1:n);
temp2=p(k);
p(k)=p(maxk);
p(maxk)=temp2;
end
if (A(k,k)~=0)
A(k+1:n,k)=A(k+1:n,k)/A(k,k);
A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-A(k+1:n,k)*A(k,k+1:n);
end
end
clear temp temp1 temp2
b=b(p);
for k=2:n
b(k)=b(k)-A(k,1:k-1)*b(1:k-1)';
end
b(n)=b(n)/A(n,n);
for k=n-1:-1:1
b(k)=(b(k)-A(k,k+1:n)*b(k+1:n)')/A(k,k);
end
x(k)=b(k);
end
请问哪里不正确?感谢。