Gauss列主元消去法实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
return 0;
}
printf("\n");
}
printf("b[]\n");
for(i=0;i<size;i++)
printf("%f ",b[i]);
printf("\n\n");
for(k=0;k<size-1;k++)
{
max=fabs(A[k][k]);
col=k;
//查找最大元素所在的行
for(i=k;i<size;i++)
for(k=size-2;k>=0;k--)
{
S=b[k];
for(j=k+1;j<size;j++)
{
S=S-A[k][j]*x[j];
}
x[k]=S/A[k][k];
}
//solution
printf("The solution x[]=\n");
for(i=0;i<size;i++)
printf("%f ",x[i]);
{
if(max<fabs(A[i][k]))
{
max=fabs(A[i][k]);
col=i;
}
}
printf("col:%d\n",col);
for(j=k;j<size;j++)
{
temp=A[col][j];
A[col][j]=A[k][j];
A[k][j]=temp;
}
temp=b[col];b[col]=b[k];b[k]=temp;
for(i=0;i<size;i++)
{
for(j=0;j<size;j++)
printf("%f ",A[i][j]);
printf("\n");
}
printf("b[]\n");
for(i=0;i<size;i++)
printf("%f ",b[i]);
printf("\n\n");
x[size-1]=b[size-1]/A[size-1][size-1];
float x[3]={0};
float Aik,S,temp;
int i,j,k;
float max;//列主元的绝对值
int col;//列主元所在的行
int size=3;
printf("A[][]\n");
for(i=0;i<size;i++)
{
for(j=0;j<size;j++)
printf("%f ",A[i][j]);
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
float A[3][3]={{0.001,2.000,3.000},
{-1.000,3.712,4.623},Leabharlann Baidu
{-2.000,1.072,5.643}};
float b[3]={1.000,2.000,3.000};
if(!A[k][k])
return -1;
for(i=k+1;i<size;i++)
{
Aik=A[i][k]/A[k][k];
for(j=k;j<size;j++)
{
A[i][j]=A[i][j]-Aik*A[k][j];
}
b[i]=b[i]-Aik*b[k];
}
}
printf("A[]\n");
相关文档
最新文档