Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2012-11-08
帖子: 1
声望力: 0 ![]() |
![]()
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 请问哪里不正确?感谢。 |
![]() |
![]() |