⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c代码.txt

📁 Gauss列主元素消去法,同时给了Matlab的M文件和C代码文件。
💻 TXT
字号:
double gaussian_elimination(int n,double a[N][N],int m,double b[N][M]) 
{ 
int i,j,k,mk; 
double det,mm,f; 
det = 1.0; 
for(k = 0;k<n-1;k++)  /*选主元并消元*/ 
{ 
mm=a[k][k]; 
mk = k; 
for(i=k+1;i<n;i++)   /*选择第K列主元素*/ 
{ 
if(fabs(mm)<fabs(a[k])) 
{ 
mm = a[k]; 
mk = i; 
} 
} 
if(fabs(mm)<EPS) 
return(0); 
if(mk!=k) /* 将第K列主元素换行到对角线上*/ 
{ 
for(j=k;j<n;j++) 
{ 
f = a[k][j]; 
a[k][j]=a[mk][j]; 
a[mk][j]=f; 
} 
for(j=0;j<m;j++) 
{ 
f = b[k][j]; 
b[k][j]=b[mk][j]; 
b[mk][j]=f; 
} 
det = -det; 
} 
for(i=k+1;i<n;i++) /*将第K列对角线以下消元为零*/ 
{ 
mm = a[k]/a[k][k]; 
a[k]=0.0; 
for(j=k+1;j<n;j++) 
a[j]=a[j]-mm*a[k][j]; 
for(j=0;j<m;j++) 
b[j]=b[j]-mm*b[k][j]; 
} 
det = det*a[k][k]; 
} 
if(fabs(a[k][k])<EPS) 
return 0; 
det=det*a[k][k]; 
for(i=0;i<m;i++) /*回代求解*/ 
{ 
b[n-1]=b[n-1]/a[n-1][n-1]; 
for(j=n-2;j>=0;j--) 
{ 
for(k=j+1;k<n;k++) 
b[j]=b[j]-a[j][k]*b[k]; 
b[j]=b[j]/a[j][j]; 
} 
} 
return(det); 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -