下载此文档

高斯消元法解线性方程组.doc


文档分类:办公文档 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
高斯消元法解线性方程组

熟练运用已学计算方法求解方程组。
加深对计算方法技巧,选择正确的计算方法来求解各种方程组。
培养使用电子计算机进行科学计算和解决问题的能力。

合理利用Gauss消元法求解下列方程组:


Visual C++ C语言

高斯分解法:
lik=aik/akk
aij= aij- lik* akj k=1,2,…,n-1
i=k+1,k+2, …,n j=k+1,k+2, …,n+1
xn= ann+1/ ann
xk=( akn+1-∑akj xj)/ akk (k=n-1,n-2, …,2,1)

#include <>
#include <>
#include <>
#include <>
int GS(int,double**,double *,double);
double **TwoArrayAlloc(int,int);
void TwoArrayFree(double **);
void main()
{
int i,j,n;
double ep,**a,*b;
ep = 1e-4;
printf("你要解几元线性方程组:\n");
scanf("%d",&n);
a = TwoArrayAlloc(n,n);
b = (double *)calloc(n,sizeof(double));
if(b == NULL)
{
printf("内存分配失败\n");
exit(1);
}
for(i=0;i<n;i++)
{
printf("请输入第%d行相应的系数:\n",i+1);
for(j=0;j<n;j++)
{
printf("a[%d][%d]: ",i,j);
scanf("%lf",a[i]+j);
fflush(stdin);
}
printf("请输入第%d行相应的常数:\n",i+1);
printf("b[%d]: ",i);
scanf("%lf",b+i);
fflush(stdin);
}
printf("方程组:\n");
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(a[i][j]>0)
{
if(j>0)printf(" + ");
if(a[i][j]!=1)
printf("%lfX%d",a[i][j],j+1);
else
printf("X%d",j+1);
} if(a[i][j]<0) {
if(j>0)printf(" - ");
if(a[i][j]!=-1)
printf("%lfX%d",fabs(a[i][j]),j+1);
else
printf("X%d",j+1);
} }
printf("= %lf\n",b[i]);
}
if(!GS(n,a,b,ep)) {
printf("不可以用高斯消去法求解\n");
exit(0)

高斯消元法解线性方程组 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小49 KB
  • 时间2018-03-24