线性方程组算法(C语言)

/*无回代过程的主元消去法*/
#include
#include
#define N 3			//方程阶数
float A[N][N+1];		//增广矩阵
float X[N];			//线性方程组的解
void findmain(int i)		//寻找第i列的主元,并将其行交换到当前处理行
{
	int j,k;
	float c;
	c=fabs(A[i][i]);
	k=i;			//初始化主元在第i行
	for(j=i+1;jc))
		{
			c=fabs(A[j][i]);
			k=j;
		}
	if(k!=i)
		for(j=0;j<=N;j++)//将主元行交换到当前处理行
		{
			c=A[k][j];
			A[k][j]=A[i][j];
			A[i][j]=c;
		}
}
void divmain(int i)		//将主元所在行的各个系数除以主元,使主元为1
{
	int j;
	float c;
	c=A[i][i];
	A[i][i]=1.0;
	for(j=i+1;j<=N;j++)
		A[i][j]/=c;
}
void del(int i)
{
	int j,k;
	float c;
	for(j=0;j



注:这是一个简单的无回代过程的主元消去法,满足行列式不等于0时才有唯一解。


你可能感兴趣的:(算法)