手机版

列主元高斯消去法C++源文件(3)

发布时间:2021-06-08   来源:未知    
字号:

VC2010 + win7makefile编译,makefile在源文件头部

元素,并返回主元所在的行
int Choose_Colum_Main_Element(int n,double**A,int start)
{
int row=start;
double max=abs(A[start][start]);
for(int i=start;i<n;i++)
{
if(max<abs(A[i][start]))
{
row=i;
max=A[i][start];
}
}
Main_Element=max;

return row;
}

//交换L1,L2 行
void Exchange(double **A,int num_of_colum,int L1,int L2)
{
double temp;
for(int i=0;i<num_of_colum;i++)
{
temp=A[L1][i];
A[L1][i]=A[L2][i];
A[L2][i]=temp;
}
}

//消元过程函数(消元其实点为start,start)
void Elimination(int n,double**A,int start)
{
double factor;
for(int i=start+1;i<n;i++)
{
factor=A[i][start]/A[start][start];
for(int j=start;j<n+1;j++)
{
A[i][j]=A[i][j]-factor*A[start][j];
}
}
}

//回带求解,即“单位化”增广矩阵
double **Unitization(int n,double**A)
{
double row_first; //行首元素
//主对角元素单位化
for(int i=0;i<n;i++)
{
row_first=A[i][i];
for(int j=0;j<n+1;j++)
{
A[i][j]=A[i][j]/row_first;
}
}

for(int k=n-1;k>0;k--)
{
for(int i=0;i
<k;i++)
{
double factor=A[i][k];
for(int j=0;j<n+1;j++)
{
A[i][j]=A[i][j]-factor*A[k][j];
}

}
}
return A;
}




列主元高斯消去法C++源文件(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)