⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jacobi.c

📁 数值分析 gauss jacobi消去法
💻 C
字号:
#include<math.h>
#include<string.h>
#include<stdio.h>
#define M 6
#define N 7
void main()
{
static float a[M][N]={{4,-1,0,-1,0,0,0},{-1,4,-1,0,-1,0,5},{0,-1,4,-1,0,-1,0},{-1,0,0,4,-1,0,6},{0,-1,0,-1,4,-1,-2},{0,0,-1,0,-1,4,6}};
 float t[M],x[M]={0,0,0,0,0,0},e=0.00001;
 float r,q;
 int i,j,k,lm=2;
  /*for(i=0;i<M;i++)
    {for(j=0;j<N;j++)
        printf("%15f",a[i][j]);
        printf("\n");
     } */
  for(k=0;k<lm;k++)
     {r=0;
      for(i=0;i<M;i++)
        {
         t[i]=x[i];
         q=0;
         for(j=0;j<M;j++)
          {if(j!=i) q=q+a[i][j]*t[j];}
         x[i]=(a[i][N-1]-q)/a[i][i];
         if(fabs(x[i]-t[i])>r) r=fabs(x[i]-t[i]);
         }
      if(r<e)break;
      }
      printf("k=%d\n",k) ;
         printf("r=%f\n",r) ;
         for(i=0;i<M;i++)
          printf("x(%d)=%15.7f\n",i,x[i]);
      if(k==lm) printf("no\n");



               getchar();
               }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -