主题: [MATLAB数学相关] Gauss列主元消去法
查看单个帖子
旧 2012-11-08, 13:33   #1
565473313
初级会员
 
565473313 的头像
 
注册日期: 2012-11-08
帖子: 1
声望力: 0
565473313 正向着好的方向发展
默认 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

请问哪里不正确?感谢。
565473313 当前离线   回复时引用此帖