(matlab系列)线性方程组求根-------列主元高斯消元法

这篇博客介绍了如何使用列主元高斯消元法解决线性方程组,特别强调了这种方法在小规模问题中的应用。博主分享了MATLAB编程实现的详细过程,并且经过亲自测试,确认代码有效。
摘要由CSDN通过智能技术生成

         线性方程组求根的数值方法有直接法和迭代法,直接法常用于处理阶数较小的方程组。其中, 列主元高斯法比较简单,但是实现成代码需要考虑很多细节,matlab的调试过程需要很大的耐心,下面贴出matlab程序。

%Gaussian elimination method to find root of linear equations
function x=Gaussian_elimination(A,b) %b is a column vector
[n,~]= size(A);
x(1:n,1) = 0;

if abs(det(A))<=1e-8 
    error('The matrix is a singular matrix');  
    return ;
end

%elimination
for k=1:n
    ak = max( abs( A(k:n,k) ) );
    index = find( abs(A(:,k))==ak );   %index is a column vector
    
    %main element
    temp = A(k,:);   %temp is a row vector
    A(k,:) = A(index(1),:);
    A(index(1),:) = temp;
    temp_b = b(k);
    b(k) = b(index(1));
    b(index(1)) = temp_b;
  
    %clear up column elements
    if A(k,k)~=0
      for i=k+1:n
          if A(i,k)~=0    
              m&#
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值