全主元高斯消去法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
cout<<"将方程组用增广矩阵A表示,请按行依次输入矩阵A"<<endl;
for(i=0;i<n;i++)
for(j=0;j<=n;j++)
cin>>A[i][j];
for(i=0;i<n;i++)Y[i]=i;
for(i=0;i<n-1;i++)
{
k1=i;
k2Leabharlann Baidui;
for(l=i;l<n;l++)
{
for(j=i;j<n;j++)
if(fabs(A[l][j])>fabs(A[k1][k2]))k1=l,k2=j;
}
//if(A[k][i]==0)break;
if(k1!=i)
for(j=0;j<=n;j++)
{
p=A[i][j];
A[i][j]=A[k1][j];
A[k1][j]=p;
}
if(k2!=i)
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int n,i,j,l,k,t,s,k1,k2;
float p;
cout<<"请输入方程个数n"<<endl;
cin>>n;
float A[n][n+1],X[n],Y[n];
return 0;
}
}
}
for(i=n-1;i>=0;i--)
{
for(j=n-1;j>=i+1;j--)
{A[i][n]=A[i][n]-A[i][j]*X[j];}
X[j]=A[i][n]/A[i][i];
}
cout<<"方程组的解是:"<<endl;
for(i=0;i<n;i++)
cout<<"X["<<Y[i]+1<<"]="<<X[i]<<endl;
{
p=Y[i];
Y[i]=Y[k2];
Y[k2]=p;
for(j=0;j<n;j++)
{
p=A[j][i];
A[j][i]=A[j][k2];
A[j][k2]=p;
}
}
for(t=i+1;t<n;t++)
{
p=A[t][i]/A[i][i];
for(s=i;s<=n;s++)A[t][s]=A[t][s]-p*A[i][s];
for(i=0;i<n;i++)
for(j=0;j<=n;j++)
cin>>A[i][j];
for(i=0;i<n;i++)Y[i]=i;
for(i=0;i<n-1;i++)
{
k1=i;
k2Leabharlann Baidui;
for(l=i;l<n;l++)
{
for(j=i;j<n;j++)
if(fabs(A[l][j])>fabs(A[k1][k2]))k1=l,k2=j;
}
//if(A[k][i]==0)break;
if(k1!=i)
for(j=0;j<=n;j++)
{
p=A[i][j];
A[i][j]=A[k1][j];
A[k1][j]=p;
}
if(k2!=i)
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int n,i,j,l,k,t,s,k1,k2;
float p;
cout<<"请输入方程个数n"<<endl;
cin>>n;
float A[n][n+1],X[n],Y[n];
return 0;
}
}
}
for(i=n-1;i>=0;i--)
{
for(j=n-1;j>=i+1;j--)
{A[i][n]=A[i][n]-A[i][j]*X[j];}
X[j]=A[i][n]/A[i][i];
}
cout<<"方程组的解是:"<<endl;
for(i=0;i<n;i++)
cout<<"X["<<Y[i]+1<<"]="<<X[i]<<endl;
{
p=Y[i];
Y[i]=Y[k2];
Y[k2]=p;
for(j=0;j<n;j++)
{
p=A[j][i];
A[j][i]=A[j][k2];
A[j][k2]=p;
}
}
for(t=i+1;t<n;t++)
{
p=A[t][i]/A[i][i];
for(s=i;s<=n;s++)A[t][s]=A[t][s]-p*A[i][s];