马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
function x=naivgauss(A,b);
n=length(b); x=zeros(n,1);
for k=1:n-1
for i=k+1:n
for j=k+1:n
xmult=A(i,k)/A(k,k)
A(i,j)=A(i,j)-xmult*A(i,j);
end
b(i)=b(i)-xmult*b(k);
end
end
% back substitution
x(n)=b(n)/A(n,n);
for i=n-1:-1:1
sum=b(i);
for j=i+1:n
sum=sum-A(i,j)*x(j);
end
x(i)=sum/A(i,j);
end
A=[0.001 2.000 3.000;-1.000 3.712 4.623;-2.000 1.072 5.643];
b=[1.000;2.000;3.000];
naivgauss(A,b)
xmult =
-1000
xmult =
-1000
xmult =
-2000
xmult =
-2000
xmult =
0.5773
ans =
0.0895
-0.0819
0.2985
事实上 用高斯消去法答案应该为-0.400 -0.09980 0.4000 且xmult 应该为三个值才对啊 怎么冒出5个 不知道哪里不行 刚开始编程望各位大侠帮忙指正!!!谢了先。
[ 本帖最后由 xinyuxf 于 2007-7-22 16:13 编辑 ] |