zoukankan      html  css  js  c++  java
  • 高斯消元

     板子来源于网络

    struct Gauss
    {
        /**** **** **** **** **** ****
        * Function Name : 高斯消元法
        * Description : 求解线性方程组
        *
        * void exchange_col(int p1,int p2,int n)
        * 交换 p1 行和 p2 行的所有数据
        *
        * bool gauss(int n)
        * 求解系数矩阵为 n 的线性方程组,方程组无解返回 false,否则 true
        *
        * x1 = x0 - f(x0)/f'(x0) 牛顿迭代法
        **** **** **** **** **** ****/
        static const int N = 15;
        double matrix[N][N + 1]; //系数矩阵,从 0 开始 
        double ans[N]; //结果数组
        void exchange_col(int p1, int p2, int n) //交换 p1 行和 p2 行的所有数据
        {
            double t;
            int i;
            for (i = 0; i <= n; i++)
                t = matrix[p1][i], matrix[p1][i] = matrix[p2][i], matrix[p2][i] = t;
        }
        bool gauss(int n) //求解系数矩阵为 n 的线性方程组
        {
            int i, j, k;
            int p;
            double r;
            for (i = 0; i < n - 1; i++)
            {
                p = i;
                for (j = i + 1; j < n; j++)   //寻找 i 列绝对值最大值位置
                {
                    if (abs(matrix[j][i]) > abs(matrix[p][i])) p = j;
                }
                if (p != i) exchange_col(i, p, n);
                if (matrix[i][i] == 0) return false;
                for (j = i + 1; j < n; j++)   //剩余列进行消元
                {
                    r = matrix[j][i] / matrix[i][i];
                    for (k = i; k <= n; k++) matrix[j][k] -= r * matrix[i][k];
                }
            }
            for (i = n - 1; i >= 0; i--)   //获得结果
            {
                ans[i] = matrix[i][n];
                for (j = n - 1; j > i; j--) ans[i] -= matrix[i][j] * ans[j];
                if (matrix[i][i] == 0) return false;
                ans[i] /= matrix[i][i];
            }
            return true;
        }
    
    }gs;
  • 相关阅读:
    Python+selenium之调用JavaScript
    Python+selenium 之操作Cookie
    Python+selenium整合自动发邮件功能
    Python之查询最新的文件
    jQuery之回调对象
    jQuery之XML的加载和解析
    jQuery之DOM属性
    jQuery之Ajax--快捷方法
    jQuery之Ajax--底层接口
    jQuery之Ajax--辅助函数
  • 原文地址:https://www.cnblogs.com/LukeStepByStep/p/7632917.html
Copyright © 2011-2022 走看看