满意答案
yehui_2010
2014.09.15
采纳率:44% 等级:8
已帮助:364人
你的方程不对,
下面是程序:用Gauss 消去法求解线性方程组A*x=b
将下面程序复制,保存成Gauss_pivot.m文件
function x=Gauss_pivot(A,b)
% A:系数矩阵
% b:方程组的右端向量
n=length(b);
x=zeros(n,1);c=zeros(1,n);d1=0;
for i=1:n-1
max=abs(A(i,i));
m=i;
for j=i+1:n
if max
m=j;
end
end
if m~=1
for k=i:n
c(k)=A(i,k);
A(i,k)=A(m,k);
A(m,k)=c(k);
end
d1=b(i);
b(i)=b(m);
b(m)=d1;
end
for k=i+1:n
for j=i+1:n
A(k,j)=A(k,j)-A(i,j)*A(k,j)/A(i,i);
end
b(k)=b(k)-b(i)*A(k,j)/A(i,i);
A(k,i)=0;
end
end
x(n)=b(n)/A(n,n);
for i=n-1:-1:1
sum=0;
for j=i+1:n
sum=sum+ A(i,j)*x(j);
end
x(i)=(b(i)-sum)/A(i,i);
end
直接调用Gauss_pivot(A,b)即可!!
祝愿朋友好运!
00分享举报