C++实现线性方程组求解

时间:2016-08-26 04:17:58
【文件属性】:

文件名称:C++实现线性方程组求解

文件大小:14.97MB

文件格式:RAR

更新时间:2016-08-26 04:17:58

C++ 线性方程组 求解 数值

用C/C++语言实现如下函数: 1. bool lu(double* a, int* pivot, int n);矩阵的LU分解。 假设数组anxn在内存中按行优先次序存放。此函数使用高斯列选主元消去法将其就地进行LU分解。pivot为输出参数,pivot[0,n) 中存放主元的位置排列。 函数成功时返回false,否则返回true。 2. bool guass(double const* lu, int const* p, double* b, int n);求线代数方程组的解 设矩阵Lunxn为某个矩阵anxn的LU分解,在内存中按行优先次序存放。p[0,n)为LU分解的主元排列。b为方程组Ax=b的右端向量。此函数计算方程组Ax=b的解,并将结果存放在数组b[0,n)中。 函数成功时返回false,否则返回true。 3. void qr(double* a, double* d, int n);矩阵的QR分解 假设数组anxn在内存中按行优先次序存放。此函数使用HouseHolder变换将其就地进行QR分解。 d为输出参数,d [0,n) 中存放QR分解的上三角对角线元素。 4. bool householder(double const*qr, double const*d, double*b, int n); 求线代数方程组的解 设矩阵qrnxn为某个矩阵anxn的QR分解,在内存中按行优先次序存放。d [0,n) 为QR分解的上三角对角线元素。b为方程组Ax=b的右端向量。 函数计算方程组Ax=b的解,并将结果存放在数组b[0,n)中。 函数成功时返回false,否则返回true。


网友评论

  • 结果可以的
  • 下载测试下
  • 程序写的很清楚,值得参考一下,多谢楼主共享。
  • 只适用于方阵,不能解决超定线性方程组
  • 高斯消去法好像不准确,另一个算法很准确,结果和matlab计算的一样
  • 很强大,很有参考价值 .
  • 代码写的很好,可以使用
  • 完整的 很好用
  • 北邮作业~~很实用~~代码很给力
  • 很强大,很有参考价值
  • 北邮数值分析作业的题目,代码可用
  • 可以用~ 而且有误差分析~
  • 挺好用的,就是不知道结果对不对