Gauss消去法解线性方程组(Matlab)

 

clear;clc;

% Gauss消去法解线性方程组

A=[3 -5 6 4 -2 -3 8;   

    1 1 -9 15 1 -9 2;

    2 -1 7 5 -1 6 11;  

    -1 1 3 2 7 -1 -2;

    4 3 1 -7 2 1 1;   

    2 9 -8 11 -1 -4 -1;

    7 2 -1 2 7 -1 9];%系数矩阵

b=[11 2 29 9 5 8 25]';%n维向量

y=inv(A)*b   %matlab的计算结果

n=length(b);%方程个数n

x=zeros(n,1);%未知向量

%-------------消去-----------

for k=1:n-1

%     if A(k,k)==0;

%         error('Error');

%     end

    for i=k+1:n

%         A(i,k)=A(i,k)/A(k,k); 

         Aik=A(i,k)/A(k,k)

         for j=k:n

              A(i,j)=A(i,j)-Aik*A(k,j);

         end

         A

         b(i)=b(i)-Aik*b(k)

    end

end

   

%-------------回代-----------

x(n)=b(n)/A(n,n)

for k=n-1:-1:1

    S=b(k);

    for j=k+1:n

        S=S-A(k,j)*x(j);

    end

    x(k)=S/A(k,k)

end

x         %程序的计算结果

你可能感兴趣的:(Matlab)