zoukankan      html  css  js  c++  java
  • 高斯消元 [模板]

    View Code
    const int maxn = 111; //方程大小
    int m, n; // 行号 列号
    double a[maxn][maxn], x[maxn]; //x为结果
    
    void Gauss() {
            double d = 0, t = 0, sum = 0;
            int k = 1, l = 0, i = 0, j = 0;
            while (k <= n) {
                //*****选主元素*****    
                
                d = a[k][k];
                l = k;
                
                for (i = k + 1; i <= n; i++) {
                    if (fabs(a[i][k]) > fabs(d)) {
                        d = a[i][k];
                        l = i;
                    }
                }
                
                if (l != k) {
                    for (j = k; j <= n; j++) {
                        swap( a[l][j] , a[k][j]);
                    }
                    swap( x[k] , x[l]);
                }
                //*****消元*****//
                
                for (j = k + 1; j <= n; j++) {
                    a[k][j] = a[k][j] / a[k][k];
                }
                x[k] = x[k] / a[k][k];
                
                
                for (i = k + 1; i <= n; i++) {
                    for (j = k + 1; j <= n; j++) {
                        a[i][j] = a[i][j] - a[i][k] * a[k][j];
                    }
                    j = 1;
                    x[i] = x[i] - a[i][k] * x[k];
                }
                k++;
            }
            
            //*****回代*****
            for (i = n - 1; i >= 1; i--) {
                sum = 0;
                for (j = i + 1; j <= n; j++) {
                    sum = sum + a[i][j] * x[j];
                }
                x[i] = x[i] - sum;
            }
    }
  • 相关阅读:
    一些基本概念
    Linux命令
    浮点型数据
    编码习惯
    VC++ Debug编译方式
    程序和进程
    文件和目录
    登录
    c#发送http请求注意
    html5获取图片的宽高
  • 原文地址:https://www.cnblogs.com/zhang1107/p/3062574.html
Copyright © 2011-2022 走看看