码迷,mamicode.com
首页 > 其他好文 > 详细

行列式求解,高斯消元法

时间:2015-09-05 12:37:56      阅读:1063      评论:0      收藏:0      [点我收藏+]

标签:

程序部分

 gauss.m   

function [x]=gauss(A,b)
  n=size(A,1);
  for k=1:n-1
    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);
  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

 参数: A 输入系数矩阵

           b 右端项

程序原理就是利用基础行列式变换构造一个三角形矩阵,然后三角形矩阵按照逆序分别求出x4 x3 x2 x1得到原始解。

示例

输入
A =

   1   1   1   1
  -1   2  -3   1
   3  -3   6  -2
  -4   5   2  -3

b =

   10
   -2
    7
    0

输出
ans =

   1
   2
   3
   4

   局限性是 :高斯消去法无法处理输入矩阵A(i,i)=0的情况,而且使用过程中不稳定因素也比较大,属于基本的求值法。





行列式求解,高斯消元法

标签:

原文地址:http://my.oschina.net/000quanwei/blog/501278

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!