美文网首页C++程序设计
2019-05-19 线性方程组-高斯消元法

2019-05-19 线性方程组-高斯消元法

作者: 桐桑入梦 | 来源:发表于2019-05-19 21:30 被阅读0次

高斯消元法:(列主元高斯消元法)
1.正常的情况下,我们将矩阵化成上三角,然后化成行最简形式,这里算法略微不同;
2.这里处理的时候,每循环一次,消除一个未知数,没有意义的计算直接省略;

const double EPS=1e-8;
typedef vector<double>vec;
typedef vector<vec>mat;

//计算Ax=B
//当方程组无解或者无穷解时候,返回一个长度为0的数组 
vec gauss_jordan(const mat&A,const vec&b)
{
    int n=A.size();
    mat B(n,vec(n+1));//增广矩阵,只能对增广矩阵做初等行变换,得到的新的方程组同解
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++) B[i][j]=A[i][j];
    for(int i=0;i<n;i++) B[i][n]=b[i];
    
    for(int i=0;i<n;i++){
        int privot=i;
        for(int j=i;j<n;j++){
            if(abs(B[j][i])>abs(B[pivot][i])) pivot=j;
        }
        swap(B[i],B[pivot]);
        //无解或者无穷解 
        if(abs(B[i][i])<EPS) return vec();
        
        //这里只想得到方程组的解,因此很多后面用不到的结果直接不去计算!! 
        for(int j=i+1;j<=n;j++) B[i][j]/=B[i][j];//省略了B[i][i]/=B[i][j];
        for(int j=0;j<n;j++){
            if(i!=j){
                for(int k=i+1;k<=n;k++) B[j][k]-=B[i][k]*B[j][i];
            } 
        } 
    }
    
    vec x(n);
    for(int i=0;i<n;i++) x[i]=B[i][n]; 
    return x;
} 

相关文章

  • 【线性代数学习笔记(一)】矩阵表示法和矩阵乘法规则是怎么来的?

    目录 求解线性方程组:高斯消元法简化线性方程组的表示——得到原始的矩阵定义用矩阵的表示方法表示高斯消元法解线性方程...

  • 2019-05-19 线性方程组-高斯消元法

    高斯消元法:(列主元高斯消元法)1.正常的情况下,我们将矩阵化成上三角,然后化成行最简形式,这里算法略微不同;2....

  • 数值计算day4-求解线性方程组(下)

    上节课主要介绍了线性方程组的几种直接求解法,包括高斯消去法(主元消去)、高斯约当法(可以用来求解矩阵的逆)、LU分...

  • 高斯_约旦消元法_线性代数_day30

    高斯-约旦消元法 继续高斯消元法得出每一个未知数的值 前向过程(从上到下)选择最上面的主元,化为1主元下面所有的行...

  • 高斯消元(行列式)

    浮点高斯消元: 模意义下高斯消元 整数行列式求值: 异或消元:

  • 高斯消元法(约当消元法)

    这个真的烦了我好久啊,可能是我太笨了,最后看了几个模板,和写了好久,终于让我弄懂了.具体看代码咯这个是直接判断是否...

  • 解方程

    复习一下解方程 0X00 解线性方程 用「高斯消元法」解线性方程 面试题 16.03. 交点 883. 高斯消元解...

  • 数值代数

    第一次数值代数上机作业 一. (1)不选主元的高斯消元法 (2)列主元 结论:列主元gauss消元法更加精确,且稳...

  • Gaussian elimination 高斯消元法 pytho

    高斯消元法是一种程序化的求解线性方程组的方法。是一种易于使用程序实现的方法。 这里是我实现的一种简单的未经优化过的...

  • 4.1 顺序高斯消元法

    算法见课本P31直接法的一种,前提是矩阵非奇异,通过有限步运算可以得到精确解注意:Gauss消元法比cramer法...

网友评论

    本文标题:2019-05-19 线性方程组-高斯消元法

    本文链接:https://www.haomeiwen.com/subject/yxtczqtx.html