基于matlab-高斯消元法解线性方程组

高斯消元法解线性方程组-matlab实现

三阶行列式
基于matlab-高斯消元法解线性方程组_第1张图片

利用高斯消元法求解方程组的 x 值,以及行列式的值,以及下三角乘上三角的验证结果

A=[2,1,1;1,3,2;1,2,2];
b=[4;6;5];
N=3;
eps1=1.0e-30;
A1=A;
%定义一个N行1列的零矩阵
x=zeros(N,1);
%定义N行N列的零矩阵
L=zeros(N,N);
U=zers(N,N);
detA=1;
for k=1:N-1
      if abs(A(k,k))<eps1
           disp('高斯消元法失败');
           break
       end
       for i=k+1:N
             L(i,k)=A(i,k)/A(k,k);
             for j=k+1:N
                   A(i,j)=A(i,j)-L(i,j)*A(k,j);
              end
              b(i)=b(i)-L(i,k)*b(k);
        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
for k=1:N
      detA=detA*A(k,k);
end
L=L+eye(N);
for i=1:N
      for j=i:N
            U(i,j)=A(i,j);
       end
end
%输出结果
x
L*U
A1
detA

你可能感兴趣的:(机器学习专栏)