会计学
1
理学试验直接(zhíjiē)法求解线性方程组
第一页,共7页。
Guass列主元消去法步骤(bùzhòu)
基本步骤(bùzhòu)
,b,TOL
=1:N
|P|<=TOL 则停止,输出无解信息,否则
换行
消元
第1页/共7页
第二页,共7页。
第2页/共7页
第三页,共7页。
第3页/共7页
第四页,共7页。
#include <>
#include <>
#include <>
#include <>
#define N 4
#define EPS 1e-5
void Guass(double A[][N+1])
{int i,j,k=0,I,t;
double w=0,p,b;
for(k=0;k<N-1;k++)
{ /*选主元*/
p=A[k][k];
I=k;
for(i=k+1;i<N;i++)
if(fabs(A[i][k])>fabs(p))
{p=A[i][k];
I=i;
}
if(fabs(p)<EPS)
{printf("the number is error! i =%d,
k=%d\n",i,k);
exit(0);
}
/*换行*/
if(I!=k)
for(j=0;j<N+1;j++)
{ b=A[k][j];
A[k][j]=A[I][j];
A[I][j]=b;
}
第4页/共7页
第五页,共7页。
for(i=k+1;i<N;i++)
{ /*行乘数(chénɡ shù)*/
A[i][k]=A[i][k]/A[k][k];
for(j=k+1;j<N+1;j++)
A[i][j]=A[i][j]-A[i][k]*A[k][j];
}
}
/*输出变换(biànhuàn)后的矩阵*/
printf("The Matrix:\n");
for(i=0;i<N;i++)
{ for(j=0;j<N+1;j++)
printf("A[%d][%d]=%",
i,j, A[i][j]);
printf("\n");
}
if(fabs(A[N-1][N-1])<EPS)
{printf("the number is error
理学试验直接法求解线性方程组学习教案 来自淘豆网www.taodocs.com转载请标明出处.