网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > 课程设计 > 正文

计算方法列主元高斯消去法求解方程组

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
一、     实验目的及内容
1.实验目的:体会并了解列主元高斯消去法求解方程组得算法。
2.实验内容: 用列主元高斯消去法求解方程组。
二、程序流程图   找站长QQ3710167
三.所用仪器,材料
   PC机一台
四. 程序代码
 #include
#define n 3//指定方程个数
double x[n+1];//x[1]~x[n]用于存放方程组的解
static double aa[n][n+1]={{2,2,1,3},{1,3,5,0},{6,1,1,3}};
void main()
{
 int i,j,det;
 double a[n+1][n+2];
 int solve();
 for(i=1;i<=n;i++)
        for(j=1;j<=n+1;j++)
               a[i][j]=aa[i-1][j-1];
 det=solve(a,x);//调用函数solve用求解方程组
 

 if(det!=0)
 {
    for(i=1;i<=n;i++)
           printf("[%d]=%f\n",i,x[i]);
    printf("\n");
 }
}
 int solve(a,x)
 double a[n+1][n+2],x[n+1];
 {
  int i,j,k,r;
  double c;
  for(k=1;k<=n;k++)
  {
   r=k;
   for(i=k;i<=n;i++)
          if(fabs(a[i][k])>fabs(a[r][k]))
                 r=i;
          if(fabs(a[r][k])+1.0==1.0)
          {
                 printf("\ndet=0 fail!");
                 return 0;
          }
   if(r!=k)
          for(j=k;j<=n+1;j++)
          {
           c=a[k][j]; a[k][j]=a[r][j]; a[r][j]=c;
          }
   for(i=k+1;i<=n;i++)
   {
    c=a[i][k]/a[k][k];
       for(j=k+1;j<=n+1;j++)
              a[i][j]=a[i][j]-c*a[k][j];
   }
  }
  if(fabs(a[n][n])+1.0==1.0)
  {
   printf("\n det=0. fail!");
   return (0);
  }
  for(k=n;k>=1;k--)
  {
         x[k]=a[k][n+1];
         for(j=k+1;j<=n;j++)
                x[k]=x[k]-a[k][j]*x[j];
         x[k]=x[k]/a[k][k];
  }
  return (1);
 }
 

五、实验结果、分析和结论
  1、结果
2、结果分析
经过计算,运行结果基本达到了预期的结果。 3、小结:  经过此次实验基本上理解了列主元高斯消去法求解方程组
设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师