MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [MATLAB数学相关] Gauss列主元消去法 (https://www.labfans.com/bbs/showthread.php?t=17855)

565473313 2012-11-08 13:33

Gauss列主元消去法
 
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

请问哪里不正确?感谢。


所有时间均为北京时间。现在的时间是 14:50

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.