行列式求解,列主元高斯消元法

  高斯消元法的弊端就是针对系数矩阵A,当遇到A(n,n)=0的情况时边无法处理(出现除0错误),以及有效减少计算机在处理浮点运算时出现舍入误差。 

 列主消元法代码:

function  [x]=ext_gauss(A,b)
  n=size(A,1);
  for k=1:n-1
    [value,index]=min(abs(A(k:n,k)));
    index+=k-1;
    if value==0 
      break
    endif
    A([k,index],:)=A([index,k],:);
    b([k,index])=b([index,k]);
    %%gause
    m=A(k+1:n,k)/A(k,k);
    A(k+1:n,k+1:n)-=m*A(k,k+1:n);
    A(k+1:n,k)=zeros(n-k,1);
    b(k+1:n)-=m*b(k);
    %%end gauss
  endfor
  
  x=zeros(n,1);
  x(n)=b(n)/A(n,n);
  for k=n-1:-1:1
    x(k)=(b(k)-A(k,k+1:n)*x(k+1:n))/A(k,k);
  endfor
endfunction

  解决了高斯消元法中存在不能消元的现象。 本程序只能处理满秩系数矩阵。



转载于:https://my.oschina.net/000quanwei/blog/501408

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值