列主元高斯消元法
来源:互联网 发布:软件安全 编辑:程序博客网 时间:2024/04/30 21:50
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define N 4
#define EPS 1e-10
void main()
{
int A[N][N+1]={{5,2,3,2,-1},{2,4,1,-2,5},{1,-3,4,3,4},{3,2,2,8,-6}},x[N];
int i,j,k,Pr,t,total;
for(k=1;k<N;k++)
{
Pr=k-1;
for(i=k;i<N;i++)
{
if(abs(A[i][k-1])>abs(A[Pr][k-1]))
{
Pr=i;
}
}//End For i
if(abs(A[i][k-1])<EPS)
{
printf("主元接近于0,方法失效/n");
exit(0);
}
if(Pr>k-1)
{
for(j=k-1;j<N+1;j++)
{
t=A[k-1][j];
A[k-1][j]=A[Pr][j];
A[Pr][j]=t;
}//End For j
} //End if
for(i=k;i<N;i++)
{
t=A[i][k-1]/A[k-1][k-1];
for(j=k-1;j<N+1;j++)
{
A[i][j]=A[i][j]-t*A[k-1][j];
} //End For j
} //End For i
} //End For k
if(abs(A[N-1][N-1])<EPS)
{
printf("主元接近于0,方法失效/n");
exit(0);
} //End If
x[N-1]=A[N-1][N]/A[N-1][N-1];
for(i=N-2;i>=0;i--)
{
total=A[i][N];
for(j=N-1;j>=i+1;j--)
{
total-=A[i][j]*x[j];
}
x[i]=total/A[i][i];
}//End For i
for(i=0;i<N;i++)
{
printf("/n/tx[%d]=%d/n",(i+1),x[i]);
}//End For i
}
- 列主元高斯消元法
- 列主元高斯消元法 C++
- 列主元高斯消元法动态输入
- (matlab系列)线性方程组求根-------列主元高斯消元法
- **解方程组的列主元高斯消元法和Cholesky分解**
- android test
- android testdfsadf
- NTP协议原理简介
- 一个月了!
- c# winform DataGridView导出数据到Excel中,可以导出当前页和全部数据
- 列主元高斯消元法
- struts2拦截器
- 如何编译驱动程序
- 基本排序算法之次序反转(Swap)操作
- 如何编译驱动程序
- InitInstance函数
- Android开发:在EditText中关闭软键盘
- 【翠字营原创】:SQLite 基础应用 基于sqlite3_stmt
- C++经典求根的方法,弦切法或弦截法