• 大小: 793B
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: C/C++
  • 标签:

资源简介

高斯迭代的c++的计算方法的源程序,可以自己设置迭代次数,精确度高

资源截图

代码片段和文件信息

#include
#include
#include
#define N 4


main()
{   int ijk;
    double a[N][N]={5-1-1-1
                    -1 10-1-1
                     -1-15-1
                     -1-1-110}b[N]={-412834}x[N]={0000}eps=0.000000001sdett;


    FILE *fp;
    fp=fopen(“gauss_Seidel““w+“);
    printf(“%d\n“fp);
    if(fp==NULL)
       {printf(“Cannot open file!\n“);
        getch();
        exit(0);
        }
   else printf(“File opened success!\n“);

/*   printf(“please input the coefficient matrix of the system a[N][N]:\n“);
   for(i=0;i      for(j=0;j          scanf(“%lf“&a[i][j]);

   printf(“please input the vector b[N]:\n“);
   for(i=0;i       scanf(“%lf“&b[i]);

   printf(“please input the initial value x[N]:\n“);
   for(i=0;i       scanf(“%lf“&x[i]);

   printf(“please input the eps:\n“);
   scanf(“%lf“&eps);*/

    k=0;
    do
    {k=k+1;
     det=0;
       for(i=0;i    {   s=0.0; 
       /*  for(j=0;j            if(j!=i)s=s+a[i][j]*x[j];*/

           for(j=0;j        for(j=i+1;j       
                 t=(b[i]-s)/a[i][i];     
                 if(fabs(x[i]-t)>det)det=fabs(x[i]-t);         
                 x[i]=t;
                 fprintf(fp“%-18.16lf  “x[i]);          
   }

      fprintf(fp“\n“);
}while(det>=eps);

   printf(“the iteration times k=%d\n“k);
   for(i=0;i       printf(“x[%d]=%f\n“i+1x[i]);

  fclose(fp);
  getch();
    }


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1601  2011-10-26 23:45  Gauss_Seidel1.c

评论

共有 条评论

相关资源