高斯列主元消去法求解线性方程组(MATLAB实现)

一、实验目的

【1】学会Matlab函数的定义和使用方法
【2】利用Gauss列主元消去法求解线性方程组,并用基本算法实现

二、程序功能

【1】采用高斯列主元消去法求解线性方程组AX=b
【2】其中A为N*N的系数矩阵,X和b均为N维列向量

三、实验步骤

【1】在Matlab中创建M文件,实现高斯列主元算法的函数myGauss。
【2】在Matlab中调用函数,求解如下方程组,得出运行结果。
方程组

四、程序代码

//这是实验书上,老师给的代码,仅供参考
//小新写的在下面的图片里,可以看看哟~
function[x]=myGauss(a,b)  
  n=length(a);          
  x=zeros(n,1);
  a=[a b];
  for k=1:n-1          
      max=k;
      for i=k+1:n
          if a(i,k)>a(max,k)
              max=i;
          end
      end
      temp=a(k,k:n+1);  
      a(k,k:n+1)=a(max,k:n+1);
      a(max,k:n+1)=temp;
      for i=k+1:n       
          a(i,k)=-a(i,k)/a(k,k);
          a(i,k+1:n+1)=a(i,k+1:n+1)+a(i,k)*a(k,k+1:n+1);
      end
  end
  x(n,1)=a(n,n+1)/a(n,n);   
  for i=n-1:-1:1
      sum=0;
      for j=i+1:n
          sum=sum+x(j,1)*a(i,j);
      end
      x(i,1)=(a(i,n+1)-sum)/a(i,i);
  end

五、算法实现

图1
图2

六、程序运行结果

图3

图4

七、小结

高斯列主元消元法求解线性方程组和线性代数中学过的消元法类似,忘记的小伙伴记得回去复习~


版权声明:本文为weixin_46453773原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。