shaojie 发表于 2003-9-4 08:16:50

[原创]介绍一种求多元方程组的方法:-)

%简单的GAUSS消去法
%a为系数方阵,b为右端向量
function x = gauss(a,b)
= size(b);
if size(a) ==
    for i = 1 : (n - 1)
      if a(i,i) == 0 error('Divide by zero');end
      b((i + 1):n,:) = b((i + 1):n,:) - a((i + 1):n,i)*b(i,:)/a(i,i);
      a((i + 1):n,i:n) = a((i + 1):n,i:n) - ...
            a((i + 1):n,i)*a(i,i:n)/a(i,i);
      
    end
    if a(n,n) == 0,error('Divide by zero');end
    x(n,:) = b(n,:)/a(n,n);
    for i = n-1:-1:1
      x(i,:) = b(i,:) - a(i,(i + 1):n)*x((i + 1):n,:)/a(i,i);
    end
else,error('Divede of matrix must agree');
end
%请大家赐教其他的好方法
页: [1]
查看完整版本: [原创]介绍一种求多元方程组的方法:-)