当前位置: 编程技术>c/c++/嵌入式
C语言高斯消元法的使用详解
来源: 互联网 发布时间:2014-10-13
本文导语: 学过数学的人都知道,高斯消元法是解线性方程组是,算法很简单,但过程很复杂,这就是我在网上找不到免费的且正确的高斯消元法的原因了。所以我下决心自己编,结果I do it. 高斯消元法的用途很广,它是解决数学问题最...
学过数学的人都知道,高斯消元法是解线性方程组是,算法很简单,但过程很复杂,这就是我在网上找不到免费的且正确的高斯消元法的原因了。所以我下决心自己编,结果I do it.
高斯消元法的用途很广,它是解决数学问题最重要的方法之一,在《计算方法》这本书的第一章就讲的是高斯消元法,很多问题最终归结为解线性方法组。
因为我是个编程初学者,所以这个程序在高手看来可能会觉得funny.不过我不介意,还请你们多多指教。
我这个程序是用C语言编的,其它语言没有学过,上大学非计算机专业的学生一般都只学C语言,所以这个程序很适合大学生们。
希望大学能多指出我程序的缺点,并给我多提意见,谢谢大家。
代码如下:
#include "Stdio.h"
#include "Conio.h"
/*L是矩阵的行减1,从程序上看是最外层循环的次数
N 对应矩阵的行数,M对应矩阵的列数
可以通过改变L、N、M来控制矩的阶数 */
#define L 3
#define N 4
#define M 5
void gauss(double a[N][M],double x[N])
{int i,j,l,n,m,k=0;
double temp[N];
/*第一个do-while是将增广矩阵消成上三角形式*/
do{n=0;
for(l=k;l